Skip to main content

Full text of "68 Micro Journal Volume 09 Number 11"

See other formats







2.95 



USA 



MICRO JOURNAL 



lVfffctrkrTfcl€i vME " MAC|NT0SH - s 50 

IVlUlUrUld & Other 68XXX Systems 

6809 68008 68000 68010 68020 68030 

f\C O The M»guine for Mototob CPU Devices KLEX 
U& " V J> ttgr Q-tW ^m, SK ' D * S 

This Issue; 

Mac-Watch WETPAINT p.40 

Building a GT-4 Graphic lerminal p.48 

"C" User Notes p.7 

Basically OS-9 p.12 

PASCAL p.42 

FORTH p.45 And Lo«s More! 



IX ISSUE XI • Devoted to the 68XXX User • November 1 987 



The Grandfather of "DeskTop Publisl 



hinciTH 



s " 






'A/ 



.<API 



■■*S* 



'■A 



^H 



6ESPAC Gives You 
More Power Per Square Inch. 




3.937 

100 mm 



Here is the size, performance, and 
cosf breakthrough you have been 
waiting for: The 68020 based 
GESMPU-20 from GESPAC. 

You tan now unleash an 
unprecedented amount of power 
into your applications. On just 25 
square inches, we have squeezed 
a 12.5 MHz (16 MHz optional) 
68020 32- bit microprocessor, a 
68881 floating point coprocessor, 4 
sockets for up to 512 Kilobytes of 
EPROM, and up to 512 Kilobytes of 
zero-wail-states CMOS RAM. 

Ihis board i< totally expandable 
through its G-64 bus inter-face. And 
GliSPAC has the largest variety of 
inexpensive memory, interfaces, 
controllers, and transducer cards 
onywhere. Plus real-time disk 
operating systems, high level 
lariuuages, and other software 
tools. GESPAC has the total solution 
to your system integration needs. 

Best of all, because our boards 
ore small, they cost less. The new 
GESMPU-20 is priced below S1000 in 
one hundred piece quantity orders. 

So why wait? Contact us today 
for information on the GESMPU-20 
or any of the 150 G-64 bus system 
components from GESPAC — the leader 
in single Eutocard micr computer 
products worldwide. 

Call (602) 962.5559. 



^F 



:ar 



IN USA - CANADA 

50A West Hoover Ave. 
Meso, Arizona 85202 
Tel. (602) 962-5559 
Telex 386575 



INTERNATIONAL 

3, chemin des Aulx 
CH-1228 Geneva 
Tel. (022) 713400 
Telex 429989 



GMX MICRO-20 PRICE LIST 



SBC ACCESSORY PACKAGE (M20-AP 



I/O EXPANSION BOARDS 



MICRO20(12 5MHz)W/1SAB $2565.00 

MICRO 20(16 67 MHz)W/1 SAB $2895 00 

MICRO 20 (20 MHz) W/1 SAB S3295.00 

6888 1 12 5MHz Floating Peint Coprocessor $195.00 

68881 16 67MHz Floating Point Coprocessor $ 295.00 

68881 20MHz Floating Point Coprocessor $ 495.00 

MOTOROLA 68020 USERS MANUAL $ 18.00 

MOTOROLA 68881 USERS MANUAL $ 18.00 

.$1 690.00 

The package includes a PC-style cabinet with a custom backpanel. 
a 25 Megabyte (unlormatted) hard disk and controller, a floppy disk 
drive, a 150 watt power supply, cooling tan, panel mounted reset and 
abort switches, and all necessary internal cabling (For use with 
SAB-9D sertai connectors only j 
2nd 5"80 FLOPPY 4 CABLES FOR M20-AP. ADD $ 250.00 

SECOND 25MB HARD DISK 4 CABLES. ADD J 780.00 

TO SUBSTITUTE 50MB HD FOR 25MB HD. ADD J 290.00 

TO SUBSTITUTE 80MB HO FOR 25MB HO. ADO. $1500.00 

TO SUBSTITUTE 155MB FOR 25MBHO, ADO $2100.00 

60MB TEAC STREAMER WITH ONE TAPE $ 870.00 

PKG OF 5 TEAC TAPES $ 112.50 

CUSTOM BACK PANEL PLATE (BPP-PC) S 44.00 

.„„ ... ...$335.00 

bilities of the GMX Micro -20 
68020 Single-board Computer by adding sixteen asynchronous 
serial I/O ports By using two SBC-16S boards, a total ot thirty-six 
serial ports are possible 

$165.00 
The board provides level-sliittnig between TTL level and 
standard RS-232 signal levels lor up to 4 serial I/O pons 

l^m:UJ.lHUJlHil:liM;lilH:1»g.fiTJ1 $398.00 

^^T!eGMXSB(Tt)OT uses three 68230 Parallel Inter lace/ Timers 
(Pl/Ts) to provide up to forty-eight parallel I/O lines The 1/0 lines 
are buttered In six groups of eight lines each, with separate buffer 
direction control for each group Bullet direction can be fixed by 
hardware jumpers, or can be soltware programmable tor 
bidirectional applications 

$75.00 

The S8C-WW provides a means ol developing and testing 
custom I/O Interlace designs lor the GMX Micro-20 68020 Single- 
board Computer The board provides areas lor both DIP (Dual Inline 
Package) and PGA (Pin Gnd Array) devices, and a prewired 
memory area lor up to 512K bytes ot dynamic RAM 

IMil:IIHMiM:aH:IH:lia:MI $19500 

■BA provides an interface between the GMX Micro-20 
68020 Single-board Computer and the Motorola Input/Output 
Channel (I/O bus) With the I/O bus. up to sixteen off-the-shelf or 
custom peripheral devices (I/O modules) can be connected to the 
GMX Micro-20 

$475 00 

The SBC AN pr tween the GMX Micro-20 

68020 Single-board Computer and the ARCNET modified token- 
passing Local Area Network (LAN) originally developer} by Datapoinl 
Corp The ARCNET is a baseband network with a data transmission 
rate of 2 5 Megabits/ second The standard transmission media is a 
single 93 ohm RG-62/U coaxial cable Fiber optic versions are 
available as an option 

0S9 LAN Software Drivers tor SBC-AN $120 00 



16 PORT SERIAL BOARO ONLY l SBC' 1 



RS232 ADAPTER (SAB-25 SAB- 90 or SAB-8M) 



PROTOTYPING BOARD IS6C-WW) 



ARCNET LAN board w/o Software ISBC-AN 



GMX MICRO-20 SOFTWARE 



020 BUG UPOATE- PROMS & MANUAL $150 00 

THESE 68020 OPERATING SYSTEMS ARE PRICED 
WHEN PURCHASED WITH THE MICRO-20. PLEASE 
ADD $150.00 IF PURCHASED LATER FOR THE 
UPDATED PROMS AND MANUALS. ALL SHIPPED 
STANDARD ON 5V« • DISKS3'/t m OPTIONAL IF 
SPECIFIED. 



0S9/68020 PROFESSIONAL PAK $850.00 

Includes OS . "C", uMACS EDITOR. ASSEMBLER. DEBUGGER, 
development utilities, 68881 supporl 

OS9/68020 PEHSONAL PAK $ 400.00 

Personal OS-9 systems require a GMX Micro-20 development 
system running Professional OS-9/68020 lor initial configuration 



Olfior Software for OS-9/6B020 


BASIC (Included In PERSONAL PAK) 

C COMPILEH (included in PROFESSIONAL PAK) 


$ 200.00 
$ 750.00 


PASCAL COMPILER 


S 500 00 




UNIFLEX 


UniFLEX 


$ 45000 


UniFLEX WITH REAL-TIME ENHANCEMENTS 


S ROD DO 




Other Software lor UniFLEX 



UniFLEX BASIC W/PRECOMPILER $ 300.00 

UniFLEX C COMPILER $ 350.00 

UniFLEX COBOL COMPILER $ 750.00 

UniFLEX SCHEEN EDITOH *5 150.00 

UniFLEX TEXT PHOCESSOH $ 200.00 

UniFLEX SOHT/MERGE PACKAGE $ 200.00 

UniFLEX VSAM MODULE $ 100.00 

UniFLEX UTILITIES PACKAGE I S 200.00 

UniFLEX PARTIAL SOURCE LICENSE SI 000 00 

GMX EXCLUSIVE VERSIONS, CUSTOMIZED FOR 
THE MICRO-20, OF THE BELOW LANGUAGES 
AND SOFTWARE ARE ALSO AVAILABLE 
FROM GMX. 

ABSOFT FORTRAN (UniFLEX) $1500.00 

SCULPTOR (specify UniFLEX or 0S9) $ 995 00 

FOHTH (0S9) S 595.00 

DYNACALC (specify UniFLEX orOS9) $ 300.00 

GMX DOES NOT GUARANTEE PERFORMANCE OF ANY GMX 
SYSTEMS. BOARDS OR SOFTWARE WHEN USED WITH 
OTHER MANUFACTURERS PRODUCT. 

ALL PRICES ARE FOB CHICAGO IN US. FUNDS 

TO ORDER BY MAIL SENO CHECK OR MONEY ORDER OR USE 
YOUR VISA OR MASTER CHARGE Please allow 3 weeks lor 
personal checks to clear U S orders add $5 handling if under 
$200 00 Foreign orders add $10 handling il order is under 
$200 00 Foreign orders over $200 00 will be shipped via Emeiy Air 
Freight COLLECT, and we will charge no handling All orders must 
be prepaid in U S funds Please note that foreign checks have 
been taking about 8 weeks lor collection so we would advise wiring 
money, or checks drawn on a bank account in the U S Our bank is 
the Continental Illinois National Bank of Chicago. 231 S LaSalle 
Street. Chicago. IL 60693. account number 73-32033 

CONTACT GMX FOR MORE INFORMATION ON THE ABOVE 
PRODUCTS 

GMX STILL SELLS GIMtX SSO BUS SYSTEMS. BOARDS & PARTS 
CONTACT GMX FOR COMPLETE PRICE LIST 



CI71X 1337 W. 37th Place. Chicago, IL 60609 (312) 927-5510 — TWX 910-221-4055 — FAX (312) 927-7352 
68' Micro Journal November '87 1 



A Member of the CPI Family 



68 Micro 
Journal 



10 Years of Dedication to Motorola CPU Users 



6800 6809 68000 68010 68020 



The Originator of "DeskTop Publishing™" 

Publisher 

Don Williams Sr. 

Executive Editor 
Larry Williams 

Production Manager 

Tom Williams 

Office Manager 
Joyce Williams 

Subscriptions 
Kristi Han 

Contributing & Associate Bdltots 

Ron Anderson Dr. E.M. "Bud" Pass 

Ron Voigts An Wcller 

Doug Luric Dr. Thco Elbert 

Ed Law & Hundreds More of Us 




"C" User Notes 7 

Basically OS-9 12 

'68XXX&lhcSTDBUS 16 

Logically Speaking 19 
Conven an XT Keyboard 






loaCr82 



25 



\ Mac-Watch WETPAINT 40 

/ PASCAL 42 

V-\PORTH 45 
Build the GT4 

Graphic Terminal 48 

Bit Bucket 53 

Classifieds 56 



Pass 
Voigis 
West 
Jones 

Allan 
Law 

Rcimillcr 
Luric 

Condon 



I i i as si in.* is ju 

{ ^8MICROJfflIRr T k " 

"Contribute Nothing - Expect Nothing" dmw t9B6 








COMPUTER 



PUBLISHING, INC. 

Over a Decade of Service" 




Wide- 



68 MICRO JOURNAL 

Computer Publishing Center 

5900 Cassandra Smith Road 

PO Box 849 

Hixson.TN 37343 

Phone (615) 842-4600 Telex 510 600-6630 

Copyrighted © 1987 by Computer Publishing. Inc. 

68 Micro Journal is the originaf'DeskTop Publishing" product and has 
conlinously published since 1978 using only micro-computers and 
special "DeskTop" software. Using first a kit built 6800 micro-com- 
puter, a modified "ball" typewrit r, and "home grown" D skTop Pub- 
lishing software. None was commercially available at (hat lime. For 
over 10 years we have been doing "DeskTop Publishing"! We origi- 
nated what has become traditional "DeskTop Publishi g" ! Today 68 
Micro Journal is acknowledged as the "Grandfaihcr"of "DeskTop Pub- 
lishing" technology. 



68 Micro Journal is published 1 2 limes a year by Computer Publishing 
Inc. Second Class Postage paid ISSN 0194-5025 at Hixson, TN. and 
additional entries. Postmaster, send form 3597 to 68 Micro Journal, 
P«B 849, Hixson, TN 37343. 

Subscription Rates 

1 Year $24.50 USA, Caiuida A Mexico $34.00 a year. 

Others add $12.00 a year surface, $48.00 a year Airmail, USA 

funds. 2 years $42.50, 3 yeats $64.50 phis additional postage 

for each additional year. 

Items or Articles for Publication 



Articles submitted for publication must include authors name, ad- 
dress, telephon number, date and a statement thai the mat rial is 
original and the property of the author. Articles submitted should be 
on diskette. OS-9. SK'DOS, FLEX. Macintosh or MS-DOS. All 
printed items should be dark type and satisfactory for photo-reproduc- 
tion, No blue ink! No hand written articles - pleasel Diagrams o.k. 

Please . do not formal with spaces any text indents. charts, etc. (source 
listi go. k. ). We will edit i aUformani g.Text should fall flush left and 
use a carriage return only to indicate a paragraph end. Please write 
for free authors guide. 

Letters & Advertising Copy 

Letters to the Editor should be the original copy, signedl Lettersofgrip 
as well as praise are acceptable. We reserve! he right to reject any tetter 
or advertising material, for any reason we deem advisable. Advertis- 
ing Rates: Commercial please contact 68 Micro Journal Advertising 
Department. Classified advertising must be non-commercial. Mini- 
mum of $15.50 for first 15 words. Add $.60 per word thereafter. No 
classifieds accepted by telephone. 



November '87 



'68' Micro Journal 




EXCITING SOFTWARE FROM THE LEADER. 



-~~Tn&t0tWfaL~~- 




OS-9 ELECTRONIC MAIL 

Klasb your message on Klectronic Mail Mail is a 
screen or line oriented program that runs on yotir 
OS 9/680X0 systems or over OS 9/N KT You can use 
distributed mailing lists or consecutive mailing list to 
get your message delivered And received mail can be 
sent directly to your printer for immediate printout, 
spooled on a multiuser system or saved to a file Mail 
features on line help and complete, easy to understand 
documentation. 
Klectronic Mail $150.00. 



OS-9/ST 

NKW for your Atari ST! Now you can have the power of 
OS 9 on your Atori 520 or 1040 ST A true 
multi tasking environment for professional real lime 
results OS 9/ST is available in two configurations: 
Personal anil Professional. Choose either version for 
true multi user support And all at a price that puts 
UN IX to shame 

Personal OS 9/ST combines the power of OS 9 with 
an interactive, structured Basic. $150.00 



PRINT SPOOLER 

Spool it and lYint it! Someone beat you tn the printer? 
Don't blow your top while you cool your heels get the 
OS 9/68000 Print Spooler and relax The full featured 
Print Spooler automatically routes and monitors the 
statusof your devices and the output files to be spooled. 
Now you can have a complete print spooling manage- 
ment system at an affordable price. 
OS 9 Print Spooler $150.00 

FORTRAN 

Crunch It! with Our New FORTRAN 77 Compiler Now 
you have a powerful new tool to take full advantage of 
the 68000 family of microprocessors With Microware's 
FORTRAN 77Compileryou can generate code that uses 
system wide modules instead of linking redundant 
copies of the standard library to each program. Result: 
less memory, less disk space, faster loading and 
external updating! 
FORTRAN 77 Compiler $750.00 



Professional OS 9/ST has a powerful Assembler, 
Linker and User Debugger and the tools to turn 
your Atari ST into a full C Language 
workstation. $600.00 

OS-9/68020 C COMPILER 

NKW "speed demon" C Compiler! Now you can get your 
hands oti a highly optimized C Language power 
tool the OS 9/68020 C Compiler. When coupled with 
the MC6888I math co-processor, this compiler will let 
you'll blast through complex math functions in the 
blink of an eye All compiler/assembler/linker options 
arc cun trolled l»y an intelligent compiler executive that 
spares you from memorizing compiler options and 
module calling sequences And the compiler includes 
library functions for memory management and system 
events, and much, much more! The new OS 9/68020 C 
Compiler is included with the Professional OS 9/68020 
System Software Package 
NewC language Compiler $750.00 



To order these exciting N KW products or for more information.. 



CALL TODAY! 



Micro ware Systems Corporation 

1900 N W I Nth Street * Des Moines, Iowa 50322 

Phone 51 5-224 1929 •Telex 910 520 2535 



West Coast Office 

440 I Creat American Parkway * Suite 220 
Santa Clara, California 95054 



Micro ware Japan Ltd. 

4119 lloncho 4 Chome, Kunabnshi City * Chiba 273, 

Japan* Phone 0473 (28)4493* Telex 781 299 3122 



Mlcromaalar Scjndmmin AB 
S \ Pngaitn 7 

S75I-43 UppMI* 

Swain 

PhOrtt 01»13SM$ 

inm 7B.79 



Of. NudoN Kail. GmbH 
Porphywcua lb 
0-690$ Sehf*Jh«<m 

Wmi Germany 
Phona (0 82 031 87 4t 
T*Wi *oW» 



Claon AG 

CHS405 BlteDlIM 

Pnona i04S| 83-3377 
Taw.. 818771 



I UN 
36-38 John Slraat 
LUUn. SMtordtriitt LUI 2JE 
Untied Kingdom 
Prion* (OS*?) 4234 ?S 
-«i«. KIMS 



bUcroprocauor Conaultanl* 

97 Bynyi Raid 
P4lm 9«»cn 7108 

NSW *i»t',ilia 
Phona 079194*1' 



UkcrodfUSen 

97 bta rua Da Common 

92400 CourtMvM 

Franca 

PXon* 1 76a-ao40 

»Mu 61S40S 



M icroware is on the move Wt- have openings for Technical and Marketing Professionals. 
Send your resume (in confidence) today and find out more about these exciting opportunities. 

0S-S and BASIC09 am rradtmartis of Mlerxmn and Motorola. UNIX it a Indemerk of Bail LatxvsftwM. inc. 



'68' Micro Journal 



November "87 



g— — — Z^Super SBCj — 




DATA-COMP proudly presents the first 
Under $5000 "SUPER MICRO". 

The MUSTANG-020~ 



MUSTANG-02& 



The MUSTANG-020 68020 SBC 
provides a powerful, compaci, 32 bil computer 
system featuring the "state of the an" Motorola 
68020 "super" micro-processor. It comes 
standard with 2 megabyte of high-speed SIP 
dynamic RAM, serialand parallel ports, floppy 
disk controller, a SASI hard disk interface for 
intelligent hard disk controller and a battery 
backed-up time-of-day clock. Provisions are 
made for the super powerful Motorola MC6888 1 
floating point math co-processor, for heavy math 
and number crunching applications. An optional 
network interface uses one serial (four (4) 
standard, expandable to 20) as a 125/bit per 
second network channel. Supports as many as 32 
nodes. 

The MUSTANG-020 is ideally suited to a 
wide variety of applications. It provides a cost 
effective alternative to the other MC68020 
systems now available. It is an excellent 
introductory tool to the world of hi-power, hi- 
spead new generation "super micros". In 
practical applications it has numerous 
applications, ranging from scientific to aducation. 
It is already being used by government agencies, 
labs, universities, business and practically every 
other critical applications center, worldwide, 
where true multi-user, multi-tasking ne#ds exist 
The MUSTANG-020 is UNIX C level V 
compatible. Where low cost and power is a must, 
the MUSTANG-020 is the answer, as many have 
discovered. Proving that price is not the standard 
for quality! 

As a software development station, a 
general purpose scientific or small to medium 
business computer, or a super efficient real-time 
controller in process control, the MUSTANG- 
020 is the cost effective choice. With the optional 
MC6888 1 floating point math coprocessor 

installed, it has the capability of systems costing 
many times over it's total acquisition cost. 



DATA-COMP ^ 



p i 



tUf.lv- 



With the DATA-COMP "total package", 
consisting of a heavy duly metal cabinet, 
switching power supply with rf/line by-passing, 
5 inch DS/DD 80 track floppy. Xebec hard disk 
controller, 25 megabyte Winchester hard disk, 
four serial RS-232 ports and a UNIX C level V 
compatible multi-tasking, multi-user operating 
system, the price is under $5000, w/12.5 
megahertz system clock (limited lime offer). 
Most all popular high level languages are 
available ai very reasonable cost. The system is 
expandable to 20 serial ports, ai a cost of less 
than $65 per port, in multiples of 8 pott 
expansion options. 

The system SBC fully populated, quality 
tested, with 4 serial ports prewired and board 
mounted is available for less that $3000. Quantity 
discounts are available for OEM and special 
applications, in quantity. All that is required to 
bnng to complete "system" standards is a 
cabinet, power supply, disks and operating 
system. All these are available as separate items 
from DAT A-COM . 




Htm.Ta 17M> 
Taiai 110 1 



A special version of the Motorola 020- 
BUG is installed on each board. 020-BUG is a 
ROM based bebugger package with facilities for 
downloading and executing user programs from 
a host system. It includes commands for display 
and modification of memory, breakpoint 
capabilities, a powerful assembler/disassemble 
and numerous system diagnostics. Various 020- 
BUG system routines, such as I/O handlers are 
available for user programs. 

Normal system speed is 3-4.5 MIPS, with 
burst up to 10 MIPS, at 16.6 megahertz. 
Intelligent I/O available for some operating 
systems. 

Hands-on "actual experience sessions", 
before you buy, are available from DATA- 
COMP. Call or write for additional information 
or pricing. 



November's? 



'66' Micro Journal 



Mustang -020 Mustang 08 Benchmark* 



I 

I ISM AT 7J0O X.nla lyi 3 

. at.t 7)00 gin rc sioiQ 

I DIC VAX 11/7(0 VltlX B.rtl.J 4.3 
1 MC VAX limo 

ItIODI OS-S IU I MM 
(•000 OS-S tIK 10 Hhr 
I ajCUrrAllovoS «»00l 0»-» MIC J» Mil 

I mmuK 92S «»o« cuts <*« i( Mi 

. MVTU»-II0 4*0?0 MCSS.*! OttlTLMX It Ha* 
! mj!b(» 

I ' 

"111 



22 bit 


R.gt .t«r 


Int.g.r 


Long 


».7 




7. J 


4.3 


1.1 


3.2 


s.l 


3.2 


11. 


».g 


*. 5 


4.0 


».| 


1 1 


i » 


on 


l * 


1. 11 



r.gl.t.r long If 

for ll-Oj 1 < SIMM; 



utUKM Miri - MraiAna-gig ..... *. 

MUtt t« • - 10 HIM Motorola ITKI 



OS • rn^akwm) Vs 


JS50.00 


'hdiAt Cr<*apwbf 




HuicOB 


30000 


C Coast) or 


30000 


liflnnnr.uiul.if.ri nun alASlOO-OO) 


10X00 


Mana 77 


730.00 


Mkiowmb rVol 


300.00 


Onc|«iolV 1**»cj1 


SCO. 00 


Styto-Onnh 


49500 


Siytg-Spill 


195.00 


Stjto-Mast 


17500 


Slyto.Gnfl.SFes'.Mi •» 


693X0 


PAT -it" u« 


2».00 


II -Si ..c '.„,.* 


7V.93 


I'M JIM I ..i.l. 


340 JO 


Scalf" («" bdo.) 


•»S 00 


COM 


1 25 JO 


UnFLEX 




Uu*i_eX(M02o™! 


545000 


Soatn Ednar 


isaoo 


Son-Merse 


20000 


""■""" ." 


soooo 


cc mi 


isaoo 


oom 


73O00 


CMOOEM .h» 


laxoo 


TWWJH •/Kama 


100 00 


X I Al X (an Ad) 


90 »s 


OatnnMa 


50 00 


•ata?) 


4J0 00 


Scalpur. (m> talo») 


99100 


SoxaWdMtSTAMMBir* auojad IU Mia. 




A<Uu»}&a**u.arSD 


J1300 


AHIalUMiitmi 


575 .00 


AoUfaJOMhiMaJuVKAM 


75000 


ieFDnuo.Kt.2Jl. 


HSOO 


MquWu 1 or 2 A4*ao» Catd* teSow. 




US 252 Ailaw 


143.00 


Hidi tard tbpparo a t.vi.n. nil «-t puna 




(awl ol° J» aaial pant ajpnn*!) 





THE 

P 

R 

O 



12.S Mhi (optional 16.6 Mitt Available) MOSS020 full 32-bll wide path 

32-bll wide data and address buses, non-multlplexcd 

on chip in»lrudlon cache 

object code compatible with all 66XXX family processors 

enhanced inslructlon set-math co-praes&orlnlci face 

66601 math hi-sprod floatingpoint co-proceaaor (optional) 

direct extension of full tH020 [nriiudioa act 

full support IEEE P7SS, dull iao 

traasn-n denial and other scientific math functions 

2 Megabyte of SIP RAM (S12 > 32 bil organ I la) ion) 

up to256K.bytcsof ETROM (64x32 bill) 

a Asynch ronoua aerial I/O porta standard 

optional to 20 aerial porbi 

atandard RS-232 Inlcrfaae 

optional network Interface 

buffered Bbll paiallel port (VI MCSR230) 

Ccnlronlo type pinoul 

expansion con nector for VO devices 

16 bil datapath 

256 byte add rcsa apace 

2 Inlerrupllnputs 

dock and conlral slgnaia 

Motomla VO Channel Modules 

lime of day clock/ calendar w/balleiy backu p 

con I roller for 2, 5 1/4" floppy disk drives 

■ingle orduublcaldc, single ordnuble density 

35 lo 80 track selectable («t>96 Tl'l) 

SASI interface 

programmable periodic interrupt generator 

interrupt rate from micro-seconds lo seconds 

highly accurate lime base (SPI'M) 

S bil sense switch, readable by the CPU 

Haldwarcllnglc-etep capability 




Dan't be mislead! 

ONLY Data-Comp 

delivers the Super 

MUSTANC020 



NASA,Atoimt EtHTjyCo miiiiiin. Govcntuwitr 

ffirWr CnHcoi Ap/fimirift « Crntorr, wtjidwiA; where q-™*t, m«ih 
o\*»tfto«j indAftJ*. mat -Jin-tw. (/\*7f C tr**/ V aaTOfa»ub*Jity 
•r%4 lov con it • $*mm/\ 



Only the'TRO" version 

of 

OS-9 supported! 


fi& 


Thisis/a'E/.VKD.yrK 
Country! 



MUSTANC-t2»SBC 


$249*1. 00 


Cabinet wCnrlldiln| PS 


$2*9. VS 


5*40 track nappy 


DS/DD $2*5)95 


floppy cable 


$39.95 


()S.« UK Professions! Vtr. 


$*50.0* 


• Indudea C Compiler (S5O0 M) 




Wlnchcslrr cable 


$3*9 J 


Wlnrtiatcr Br In 25 Mbyte 


$M5.0t 


Hard Dtk conlrolkr 


«95.0» 


ShSpping USA UPS 


$20.0* 



Upw J 6«230 b3Jm.Wr.ntti dkipi, 
6Braup of D luautMcft. apuatotw/fer 
dii«taks> c«nnt foi aich ptwp> 

ntlSaaVyVJal OUaafal 

aaat hi- ball dip ml POA anion * ■ 

t».Miuay «T«»P«>5IIKDMA.M. 



MM 

IraHfn Nlaavn ±a ryikm ud 
AUTJCBT oaaMad lot 

CAN«Ti.a»*V«n 



LAX. fiber optk* crjuxai • call. 
12000 



tUpBaknuaMau**! t^> Lhmod Ml,«iW 



■ MUSTAjaa-ojo™ 
169500 5 AVB 13000) 



SIMM 



UPGRADES 

Write or Call 

for Professional 

OS-9 "Full Bore" 

Upgrade Kit 



For«>m«MBn*M*«lonWaa*OCJ ' 

Bada-rionyojioUBtWXXSBC Musi I 
tjAaajrlurvjpropsrVar^oo^w^swilh J 



$100.01 
$275.01 
$375.04 
$375.01 
$750 01 



Cal kx mors intormatun 



toi.1: Save $1000.00 $S^9.m 

complete sytcm $4,299.80 

UniFLtX LB5> 

MCtaeS 1 l/p math processor Add 

16.67 Mil MC68020 

16.67 Mil MC6888 1 

20 Mh2 MC68020 Sys 

No M all 6888 1 chips work with 20 Mhi Sys 



NOTE: Only Professional OS-9 

now available (68020 Version) 

Includes ($500.00) C Compiler 

68020 & 68881 supported 



AH MUSTANG 030™ 
wloafife on di lavd ionw. 
wrat Urn aaoaa. Di 



anaMlo 
■a: 10-TOf. aandni do lam. Cal a 



Data-Comp Division 

( ' ■ '.^m r~'~'\ A Decade of Qualily Scrvict:" ^ 

*$ V V^f3»W- Systems WorUS-Wkle *" 

Computer Publishing. Inc. 5e00 Casundnj Smith Road 

Telaprwrw 615 642-4601 ■ lului 510 600*630 Mason. Tn 37343 



25 



85 



complete 



Mbyte HD System 

$4299.80 

Mbyte HD System 
$5748.80 



68' Micro Journal 



Novembaf '67 



r 





"N 



PAT C 

With 'C Source j 
$229.00 1 



mm 



$sim 



. Pi, On ■ ha 

oeanw 



A Division of 



I 



Media- 

5900 Cuuvh Smiih R<t 

Ilium, To 37343 

Telqfan 6I5M2-M09 

Ttlex 



V 



tie* SI 601^6630 



COMBO 



PAT FROM S. E. MEDIA - A FULL FEATURED SCREEN ORIENTED TEXT EDITOR 

with all the best of PIE. For those who swore by and loved PIE, this is for YOU! All PIE 
features & much more! Too many features to list. And if you don't like ours, change or add 
your own. C source included. Easily configured to your CRT terminal, with special configuration 
section. No sweat! 

68008 - 68000 - 68010 - 68020 OS-9 68K $229.00 




Special $249.00 

JUST 

JUST from S. E. MEDIA - - Text formatter written by Ron Anderson; for dot matrix 
printers, provides many unique features. Output formatted to the display. User con- 
figurable for adapting to other printers. Comes set-up for Epson MX80 with Graflex. Up 
to 1 imbedded printer control commands. Compensates for double width printing. 
Includes normal line width, page numbering, margin, indent, paragraph, space, vertical 
skip lines, page length, centering, fill, justification, etc. Use with PAT or any other text 
editor. The ONLY stand alone text processor for the 68XXX OS-9 68K, that we have 
seen. And at a very LOW PRICE! Order from: S.E. MEDIA - see catalog this issue. 

68008 - 68000 - 68010 - 68020 OS-9 68K 
V With T C source $79.95 J 



November '87 



'68' Micro Journal 



^^^^m The C Programmers 
m I (p& Reference Source. 
W&) + Always Right On Target! 

^^ C C User Notes ] 


A Tutorial Series 


By: Dr. E. M. Burf ftiss 
1 1454 Lam Lane N.W. 
Conyos, GA 30207 
404 483-1717/4570 

Computer Systems Consultants 



INTRODUCTION 

This chapter covers some of the C reference 
materials currently available for those 
attempting to learn how to use the C language or 
to learn how to become more proficient In Its 
application. 

Bill Gates. President of Microsoft, recently was 
quoted in the trade press as saying that most 
major technical and development software for 
micro and mini computers Is either now written 
In the C language or Is being rewritten into the C 
language. 

Also In the trade press was the announcement 
by Lotus that the best-seller 1-2-3 package had 
been rewritten into C. would be available very 
soon under UNIX and VMS and would be 
available on IBM-compatible mainframes next 
year. 

C REFERENCES 

Most C reference materials use the PC. UNIX, or 
VMS systems in their expositions. For those 
interested In learning C for OS/ 9. UNIFLEX. or 
FLEX, these references may be used with a 
greater or lesser degree of success. Depending 
upon the nature of the subject, the more specific 
and advanced references may well be essentially 
effectively useless for these operating systems. 
For example, graphic and window software for 
the PC may be of little use on hardware 
radically different from that on the PC. 
However. It Is necessary and useful to describe 
the materials, because many are Interested in C 
for several different systems. 

Since any list of reference materials Is 
necessarily incomplete, many readers will note 
favorite C texts not included. If readers will 
send very short reviews of such texts, I will 
consider including them In the future. 



The C Programming Language 
B. Kemlghan and D. Ritchie 

Although this book is somewhat dated, obscure, 
and vague, it is still recognized as the standard 
text for the C language. Every C programmer 
should have a copy and should have actually 
read It at least once, to better gain a feeling for 
the llavor of the C language, from the original 
source. However, most programmers will need 
much more than this book to help to help them 
use the C language proficiently. 

The C Answer Book 
Tondo and Glmpel 

This book is a follow-up to the original white 
book (K and RJ. It reprints each exercise from the 
K and R book, along with a complete answer and 
explanation for it. The index assists the C 
programmer in locating particular topics in the 
exercises. 

Programming In C 
K. A. Jamsa 

This book presents a bulldlng-block approach 
Intended to help the reader In learning the C 
language. Beginning with simple concepts. It 
Introduces more complex concepts In each 
chapter. It covers data types, program structure, 
string processing, pointers, airays. and buirered 
and unbuffered Input/output. It also discusses 
the use of several UNIX utilities and tools. 

The C Library 
K. A. Jamsa 

This book provides over 125 structured and 
commented C library and utility routines. 
These vaiy from simple macros and functions 
to complete input/output subroutines, 
primarily for UNIX or MSDOS. Each library 



68" Micro Journal 



November's? 



routine provides comments describing tts 
function, argument list, routines called, and 
control flow. These routines Illustrate the 
following parts of the language: file 
manipulation, sorting, recursion. Input/output, 
string manipulation, pointers, and arrays. 

The C Programmer's Handbook 
AT&T Bell Laboratories 
M. I. Bolsky 

This book Is formatted as a handbook providing 
a topic-oriented Introduction and reference for 
the C language. Since the author Is an employee 
at the AT&T Systems Training Center, the 
handbook covers only the UNIX System 5 C 
language and Its usage on UNIX System 5 
systems. In addition to covering the C language 
Itself, this book provides Information on 
portability, covering compiler and machine 
dependencies, program organization, data Me 
conversion, and other portability Issues. 

C: An Advanced Introduction 
AT&T Bell Laboratories 
N. Gehanl 

This book provides an Introduction to the C 
language for those already familiar with a 
procedural language such as FORTRAN or 
ALGOL. It emphasizes the advanced features of 
the language, such as type declarations, data 
abstraction, exception processing, concurrent 
programming, the C preprocessor, and 
programming tools. The author assumes that 
the reader will be using a UNIX-based system for 
working the problems and for later 
development. 

C: The Complete Reference 
H. Schlldt 

This book Is organized as an encyclopedia of C 
terms, functions, codes, applications, etc. It Is 
divided Into the following five parts: review 
material. C libraries, algorithms and 
applications, efficiency and portability, and 
C++. It also provides Information about the new 
ANSI X3-J 1 1 Draft Proposed C Standard. 

C Made Easy 
H Schlldt 

This book Is designed for Basic programmers 
wanting to learn the C language. It provides a 
tutorial on the C language. In addition to side- 
by-slde examples of Basic programs and their C 
translations. It also provides a description of 
common C programming errors and how to 
avoid making them. 



L 



Solutions in C 



This book contains several hundred tips and 
guidelines for programming In the C language. 
It is reference material for experienced C 
programmers and provides suggestions for how 
best to engineer a programming project to make 
best use of the C language. It covers the 
following subjects: structures, bit fields, unions, 
arrays, data storage, headers. C preprocessor, 
definition of. reference to, and pointers to 
functions, the standard C run-time library, etc. 
It also provides Information about the new 
ANSI X3-J1 1 Draft Proposed C Standard. 

Programming In C 
S. Kochan 

This book Illustrates the usage of the C language 
with about 100 C programs and functions. Each 
program or function is structured and 
commented to demonstrate particular points 
about the language. The book covers the 
following topics: looping, decisions, arrays, 
functions, structures, strings, bit operations, 
and modularity. Appendices to the book 
summarize the syntax of the language and list 
common programming mistakes to avoid. 

C Programming Guide (Second Edition) 
J. Purdum 

This book provides a tutorial for beginners 
desiring to learn to use the C language. It offers 
tips, tricks, and techniques used by C experts. It 
explains how the language works and compares 
several C programs to equivalent Basic 
programs. It also provides Information about 
the new ANSI X3-J11 Draft Proposed C 
Standard. 

C Programmer's Library 

J. Purdum. T. Leslie. A Stegemoller 

This book presents C programming techniques 
exemplified with the following C programs and 
routines: disk sort, terminal library. 
Installation program, ISAM library, and book 
cataloger. These C programs and routines are 
usable as presented or may be modified for 
special purposes. The book provides machine 
and compiler specific Information as a 
comment with each listing. The programs and 
routines are also available on diskette for 
MSDOS and CP/M. 

C Self-Study Guide 
J. Purdum 

This book covers many aspects of C 
programming with a question and answer 
format. It addresses the usage of C at many 
levels, from the beginner's problems with 
syntax errors to the expert's usage of the more 
advanced features and nuances of the language 
and of the standard C library routines. 



November's? 



•68' Micro Journal 



C: A Reference Manual (Second Edition) 
S. P. Harbison and C. L Steele 

In addition to presenting a complete outline and 
summary of the C language, this book discusses 
the evolving state of the C language, including a 
summary of the new ANSI X3-J11 Draft 
Proposed C Standard. The authors present the C 
language In a bottom-up order: lexical structure, 
preprocessor, declaration types, expressions, 
statements, functions, programs, and standard 
run-time libraries. The book also covers over 
180 of the standard run-time library routines In 
detail. 

Debugging C 
RWard 

This book discusses the difficulties Involved In 
debugging C programs and suggests better 
methods for accomplishing this task. It Is not a 
book on avoiding common C programming 
mistakes, although most experienced C 
programmers should be able to derive new 
techniques for writing C programs which assist 
In the debugging process. It provides a carefully- 
defined and sclentlflc-method-based series of 
techniques. In an attempt to structure this 
debugging process. Although the book is 
oriented towards debugging programs written 
on and for MSDOS and UNIX, most of the 
techniques presented are relevant for debugging 
programs on other computers and operating 
systems. 

Advanced C 

H. Schlldt 

This book attempts to assist experienced C 
programmers In developing advanced skills In 
the use of the C language. It is essentially a 
discussion of the Implementation of data 
structures in C. It covers the following topics In 
this area: operating system interface, 
compressed data formats, memory allocation, 
linked lists, binary trees, sorting and search 
techniques, stacks, queues, and data 
encryption. It also covers program and data 
portability, simulations, debugging, and 
converting Basic and Pascal programs to C. 

System V Interface Definition Vol. 1-3 
AT&T Information Systems 

This series of books provides a rather complete 
definition of the UNIX System 5 operating 
system, system calls, library, C compiler, and 
utilities. Although It is probably more detailed 
than most C programmers require. It Is a source 
of Information for those needing to port 
programs to or from UNIX System 5 and clones, 
or to port UNIX System 5 to a new environment. 



Operating Systems: Design & Implementation 
A. S. Tanenbaum 

This book provides a discussion of the design 
and implementation of operating systems, 
primarily In terms of an example operating 
system called MINIX. The specifications for 
MIN1X derive Irom UNIX Version 7. Not only Is 
the source code (In C. of course) printed In the 
book, but source and object versions of MINIX 
are available for the PC on diskette. In addition 
to the commented source code for MINIX and 
explanations of how It works, the book provides 
a lengthy discussion of four areas of operating 
system theory: process management. 
Input/output management. memory 
management, and file system management, and 
how they relate to MINIX and to other operating 
systems. 

Portable C and UNIX System Programming 
J. E. Laptn 

This book summarizes the similarities and 
differences among the various versions of UNIX 
C languages. It covers all commands. library 
functions, and system calls available on UNIX 
System 5. Berkeley UNLX 4.2 and 4.3. Microsoft 
Xenix, and SCO Xenix 5.0. in addition to those 
specified in the System V Interface Definition 
and in the proposed ANSI X3-J11 Standard C 
Language. 

Applied C 

Strawbeny Software. Inc. 
edited by B. Derman 

This book is composed of over twenty chapters, 
each written by an expert In a particular area. It 
covers the generation of program specifications, 
the consideration of user Interfaces, the aspects 
of programming style, portability, modularity, 
data structures, language parsing. Indexing, and 
screen management, methods of using 
compilers, linkers, loaders, and libraries, and 
usage of utilities such as make. lint. etc. 

The C Puzzle Book 
A.R. Ffcuer 

This book provides a series of topics, each of 
which is composed of C programs or functions 
representing a puzzle about some aspect of the C 
language and its usage. These puzzles, with 
solutions, olten pertain to little-used features of 
the language, and are intended to force the 
reader to think about parts of the language 
which they may never have thought about 
before. 

The C Trainer 
A. R Feuer 



'68' Micro Journal 



November "97 



This book and diskette comprise a tutorial for C 
in a structured programming environment. The 
diskette contains a C Interpreter and series of C 
program and function examples to accompany 
the book. The following advanced topics are 
covered (In addition to more basic topics): co- 
routines, binary trees, dispatch tables. Indirect 
pointers, syntax parsing, finite-state automata, 
semantic networks, and recursion. 

Programming Pearls 
J. Benlley 

This book consists of a series of essays 
pertaining to practical aspects of programming 
and computer science, originally published in 
the Communications of the Association for 
Computing Machinery. It discusses common- 
sense engineering techniques and prototyping 
as they relate to computer programming. Many 
of the problems may best be solved or Improved 
by using Insight Into the nature of the situation, 
rather than the obvious solution. 

C Programmer's Reference Card 
Two Colors 

This quick-reference card summarizes all of the 
commonly-used aspects of C. provides usage of 
programmlng-related UNIX utilities, and 
contains and an ASCII code chart, all on a 
plastic sheet. 

C Language Poster 
AGS 

This wall poster provides a guide to C language 
syntax and usage. 

C PROBLEM 

The following fragment of a C program works 
correctly on some systems but falls on other 
systems: 



•include <stdlo.h> 

rain Urge, argv) 
lnt argc; 
char *argv[); 



( 



If (Urge > 5) ti (*argv[5J — 'x')) 
strcpy largviS], 'last argument"), 



The problem lies In the copying of characters 
into the memory pointed to by argv|S). If the 
space allocated for the string Is shorter than 14 
characters, the memory Just beyond the space 
allocated will be overwritten. In this case, the 
memory space overwritten may be 



exceptionally critical, since It will probably 
Involve stack space beyond the point at which 
the program was executed, because the second 
argument to the "main" function points to the 
command-line arguments. 

Many solutions are possible: following Is one 
possible method. Most, like this one. Involve 
changing the pointer to the argument. 



•include <stdio.h> 

rain large, argv) 
int aege; 
char *argv[]; 
( 

If (large > 5) it f*argv!5) — 'x')) 
argv [5] » "last argument"; 



Another class of solutions Involves copying the 
pointers to the arguments Into another array. 
Following Is one solution In this class: 



tlnclude <stdlo.h> 

main large, argv) 
int argc; 
char *argv[]; 
< 

char arg [10)132], *strncpy(); 

int a; 

if (argc > 10) 

argc - 10; 
for (a - 0; la < argc); t+a) 

* (strncpylarglal, argv[a], 31) t 31) 
If (large > 5> (( (*arglSJ — 'x')> 

strcpy (arg [5] , "last argument"); 



EXAMPLE C PROGRAM 

Following Is this month's example C program; It 
scans the contents of a list of files, extracting 
printable strings from each no shorter than a 
specified length. It could be used on a text file, 
with Its output piped to a program to sort and 
remove duplicate strings, to study the words 
used In the text. It could also be used on a 
executable file, in an attempt to locate help or 
prompt strings, which might assist in using, 
understanding, or disassembling the program. 



•Include <stdio.h> 
tlnclude <ctype.h> 

Ideflne STRING 80 
•define BUFFER S12 



10 



November's? 



'68' Micro Journal 



• lfdef IBMPC 
Ideflne BINARY "rb" 
tendif 
lifdef FI£X 
•define BINARY -rb" 
tOTdif 

lifndef BINARY 
Ideflne BINARY "r" 
lendif 

m»in(argc, argv) 
lnt argc; 
char **argv; 
1 

FII£ 'input » stdln; 

int enough - 3; 

char *prog - argv[0]; 

while large > 1) 
( 

if (*argv[l| — '-■) 
( 

enough - 0; 

sscanf (argv[l) + 1, "Id", (enough) ; 
if ((enough < 1) II (enough > (STRING - 



3))) 



1 



Proqr«n\n\n") ; 
list)\n\n". 



n\n"l; 



print f ( "\n\nString Search 
printf ("Osage: ts |-n] (file- 
prog); 
printf ("finds strings of length >- 

printf ("(default 3) in file-list \n") ; 
printf C (default stdln) \n\n") ; 
exit (1) ; 



else 

if (r (input - fopen(argv|l), BINARY))) 

< 



argvlU); 



prlntf("ts: Cannot find ls\n" 
exit (1); 



prog. 



else 



strings (input, enough); 



— argc; 
++argw; 



) 
exit(O); 



) 



stringsdnpit, enough) 
FII£ « input; 
int enough; 
( 

int chars, 1, n; 

char buffer [BUTTER], c, *p, string [STRING] ; 



while (n - fread (buffer, 1, BUSTER, input)) 
( 

for (p - buffer; n; — n) 



! 



c - *p++; 

if (lsprint (c)) 

( 

string [chars++l - c; 

if (chars > (STRING - 3)) 

( 

string |chars++] - 'W; 
string(cltars] - 0x00; 
printf ("%s\n", string); 
chars - 0; 
i 



else 
( 



if ((chars >- enough) t( <(!c) II 

(c — 'Will 
I 

string(chars) » 0x00; 

printf ("%s\n", string); 
) 
chars » 0; 



if (input) 

close(inpit) ; 



EOF 



FOR THOSE WH 



nSKED TO KNOW 



68 MICRO 



JOURNAL 



TM 



68' Micro Journal 



November's? 



11 





astcmly 



Dedicated to the serious OS-9 user. 

The fastest growing users group world-wide! 

6809 - 68020 



A Tutorial Series 



By: Ron Voigts 

2024 Baldwin Court 
Glendale Heights, IL 



KEEPING TRACK OF OS-9 MODULES 

l-ast month, we went into why programs 
refused to get Into memory. There were a 
number of Items that could cause problems. 
The module's attributes, CRC and header 
parity had to be correct. If these all were In 
order, there was a good chance that when an 
attempt was made to run the program it would 
get loaded Into memory. Then it could be run. 
OS 9 does not blindly plunk the module In 
memoiy. Rather it places it and keeps track of 
vital Information. 

A module directory maintained. Not 
everything that gels into the module directory 
has to be executable. Device descriptor and 
data modules cannot be executed, but none the 
less they are put into the directory. But 
everything that gets into the directory must 
meet the previous criteria. 

The module directory keeps track of two 
important pieces of information. Where the 
module can be found and what Its link count 
is. Surprising at first is the fact that Its name 
does not get entered. A little thought on it will 
show that once a module's location Is known, 
other things of interest can be found. These 
include Its name. size, language type and so 
forth. All that Is necessary is to search the 
directory, for the module's location. 

I-evel I OS-9 keeps module directory 
entries In 4 byte chunks. My system provides 
256 bytes for the directory. This comes to 64 
possible entries. I have never filled it up. The 
directory's location can be found from the 4 
bytes stored at D.ModDlr In the Direct Page 
Variables. These are values located in the first 
256 bytes of memory. D.ModDlr is located at 
absolute address $0026. The four bytes In my 
system located here are: 



$03 00 04 00 

This means that the directory module 
starts at memory location $0300. It is one 
page or 256 bytes long. The $0400 shows were 
It ends. In reality the end is at $03FF. In 
programming, using the $0400 is a simple 
way to detect when the directory's end has 
been past. 

Entries are in 4 byte chunks. The first two 
bytes are the module's location. The next Is Its 
link count. And the last one is a dummy. It 
doesn't do anything. But 4 is easier to program 
with when using a loop. 

It is easiest to demonstrate the table with 
an example. Listing 1 Is a BAS1C09 program 
that will generate a table that represents the 
module directory. The program gets the start 
and finish values for the directory. It moves 
through the directory extracting the modules 
location and link count. The dummy byte is 
Ignored. Also where a location comes up that 
Is $0000. It is not printed. This is not the 
location of a module, but rather the a null 
entry Into the table. I ran this program and 
here is the result. 



Addr 


Link 


F05D 


00 


F852 


01 


FD46 


01 


FDT4 


01 


B600 


01 


B633 


00 



This is only the first few entries. It shows 
the modules's locations and their link count. 
These entries are part of my OS9 system. 



12 



Novembef '87 



'68' Micro Journal 



To see what these really mean, we must 
look at each location. We can find the module 
name. Its size. type, revision, and name. Good 
news! There Is a command to do this for us. It 
IsMDIR. If I enter 

OS9: mdlr e 

This tells MDIR to do an extensive module 
dlrectoiy search. The result Is: 



ADDR 


SIZE TY 


RV 


AT 


uc 


NAME 


F05D 


7E7 CI 


1 


r 




OS 9 


F8S2 


4F4 CI 


1 


r 


1 


OS9p2 


FD46 


2E CO 


1 


r 


1 


Init 


FD74 


17E CI 


1 


r 


1 


Boot 


B600 


33 Fl 


2 


r 


2 


DO 


B633 


33 Fl 


2 


r 


2 


Dl 



This goes on. but Is show what the modules 
really are. MDIR reads the module directory 
and then goes to the memoiy location and 
reads the balance of the Information from the 
module header. It can be seen that the 
addresses of modules In the directory are used 
to find them. So. $F05D with a link count of 
00 Is OS9. $f852 with link count of 1 Is 
qOS9P2 and so forth. 

Level 2 has a module directory that Is a bit 
more complicated and Involved. It uses 8 
bytes per entry. They are 2 byte entries for 
MD$MPDAT. MD$MBSlz. MD$MPtr. and 
MD$Llnk. 

MD$MPDAT Is the Module DAT Image 
pointer. This Is a DAT pointer to the starting 
of the block where the module Is stored. The 
block Is 4K long on SS-50 buses and 2K on 
system with a 6829 MMU. This memory 
location Is a special one that Is not 
necessarily associated with a specific process. 
Later, when the module Is executed. It will be 
mapped Into the particular task's area. 

Next Is MD$MBSlz. This Is the actual 
amount of amount of the block used. Even If a 
small module Is loaded. It will get the entire 
block. This is why It pays to merge modules 
together. Then they will be located In a 
continuous area of memoiy. 

MD$PTr Is a pointer to the module within 
the block. It is the offset from the start of the 
block to where the module Is located. This 
probably would be $0000. But where 
numerous modules have been entered, they 
each will have there own ofTset within the 
block. 



Finally there Is the module link count. 
MD$L!nk Is the link count of the module. As 
long as It is 1 or more, it will occupy the 
memoiy block that has been allocated to it. 
When it goes to zero. OS-9 will remove It and 
put the memoiy back Into the memoiy pool. A 
nice result of this Is if a number of modules 
have been loaded Into the same memory 
block, they all will remain, as long as one Is 
linked. 

Listing 2 Is Baslc09 program that will 
print the module dlrectoiy for you. It differs 
from the Level 1 version. Not only Is the 
directory format different as I have outlined, 
but the memoiy cannot be PEEKed as was done 
before. Have no fear, there is a way. 

The Level 2 System Call. F$GModDr, can 
be used. It copies the module dlrectoiy Into a 
2k buffer, supplied by the caller. It also 
returns the start and end of the module 
directory In the system memory. On entiy 
register X points to the buffer. On return 
register U is the start of the memory address 
and Y is the end. Now. how do we use it from 
BASIC09? 

Easy! The HASIC09 TOOLS available from 
Southeast Media have a module called 
SYSCALL. This module written In 6809 object 
code provides a means to pass parameters to 
the CPU's registers, execute one of the OS-9 
Service Requests and return the information 
In the registers. This makes It an easy task to 
access the service request from BAS1C09. 

The call to SYSCALL requires two 
variables to be passed. One Is a complex 
variable, 10 bytes In size. It contains the all 
the 6809 CPU registers, except for S. the stack 
pointer. The other Is the numerical value of 
the system call. This routine requires 
checking the returned values for successful 
execution. Notice how the program In Listing 
2 checks whether the LSB of REG.CC Is set. If It 
Is set. then REG.B has the error code number. 

Enough said about the program. Let's run 
It and see what It does. 



ENTRY ♦ 


IKACi 


SIZE 


MOOOIZ 


LINK 


0001 


0FE8 


1000 


0000 


0001 


0002 


0FF8 


0D1B 


0A40 


0001 


0003 


0FE8 


1000 


02BC 


0001 


0004 


0FE8 


1000 


051D 


0001 


0005 


0FE8 


1000 


0970 


0000 


0006 


0F22 


3FC5 


0400 


0001 


0007 


0F22 


3FC5 


10A9 


0001 



68' Micro Journal 



November 157 



13 



Again [ am only showing a partial listing 
of the programs output. But it does display the 
information from the module directory. We 
can take a look at one of the memory blocks. 
Notice that DAT Image Pointer $0FE8 has 4 
modules in it. The entire block in 4096 
($1000) bytes in size. The modules are 
ldentliled by their offsets from the start of the 
block. Entry $0001 is the first one at offset 
$0000. Entry $0002 is at $02BC. $0004 is at 
$05 ID and $0005 is at $0970. It is a fairly 
good bet that this last one ends at $OFFF. 
recalling the entire block size is $ 1000 bytes. 

There is an easier way to see the contents 
of module directory. Again, it is MDIR. The 
Level 2 OS-9 uses a different version of MDIR. 
This one uses the service request, F$GModDr. 
It prints out similar information, like the 
Level 1 version. But it Is tuned to the I-evel 2 
system requirements. Using Is on my system, 
gives us: 



Block 


Offset: 


Sire 


Typ 


Rev Attr 


Use Module Name 


FE 





2BC 


CI 


F I .. . 


1 Boot 


FD 


A40 


2DB 


CI 


r. . . 


1 Boot 3 


FE 


2BC 


261 


CI 


r . .. 


1 Boot! 


FE 


SID 


2D3 


CI 


t ... 


1 Boot2 


FE 


970 


690 


CO 


8 r... 


OS9pl 


1 


400 


CA9 


CO 


2 r... 


1 OS9p2 


1 


10A9 


2E 


CO 


1 r... 


1 Init 



Here we see block $FE corresponds to the 
DAT Image Pointer at $0FE8.The 4 modules it 
contains are located at the offsets that were 
described earlier. If we take the last module 
and add the size to It, we find that it ends at 
$0FFF. This makes the block of memory used 
4096 bytes long as pointed out earlier. 

These two listings give you a means to look 
at the module directory. It is more practical to 
use the MDIR. But it is fun to dissect the 
system and see what makes it work. 

Before I totally leave the subject of this 
months programs. I want to say one more 
thing about the BASIC09 TOOLS. If you do 
have the package, a few lines In Listing 1 can 
be replaced. Specifically lines $01BD. $01D6 
and $0240. The TOOLS have a subprogram 
called DPEEK. It returns the integer value at a 
memory location. Using tt. line $0240 would 
be changed to: 

RUN DPEEK(MD.location.index) 

The other lines would be changed 
accordingly. Either method works. There are 
a total of 21 subprograms in the BASIC09 
TOOLS Besides the fact that I created them, 
they make a nice addition to your BASIC09 
library. 



LINK IT TOGETHER 

I could not leave this month without 
mentioning LINKlng to modules, it differs 
between Level 1 and 2 somewhat. And it is 
worthwhile mentioning. 

In Level 1. linking to a module is rather 
simple. Whenever a module Is linked to a 
process, the link count Is increased. This 
Insures that is will remain in memory, as long 
as someone is using it. A general rule to follow 
is only UNLINK what you have LINKed. If you 
cause the link count to go to zero, then it will 
be removed from memory. This could be very 
upsetting for another process. This is all that 
Linking does for Level 1 . 

Level 2 systems also use the link count as 
an Indicator of how many processes are using 
a particular module. But it does a little more. 
Linking to a module maps it Into the task's 
space. The module does not move in physical 
memory. Rather it appears to be located in the 
processes memory space. This is the illusion 
of Dynamic Address Translation. When the 
module is unlinked, its count is decreased and 
it disappears from the memory of the process. 

Generally, linking is accomplished with a 
call to the F$LINK. This system service 
request requires two Input parameters. 
Register X points to the module name. Register 
A contains the module type and language byte. 
On returns the register Y points to the entry 
address for the module. U points to the start of 
the module. And. of course, the link count is 
Increased. 

Most times you will not have concern 
yourself with using F$LINK. When a module is 
loaded or executed, it is linked. Ihese all occur 
automatically and should not be of major 
concern. 

That raps up this month. I hope I have 
given you some food for thought. Until next 
time, have a good month. 

LISTING i 

PROCEOURE GetModDir 
0000 
0018 
00 IB 
002D 
003E 
004F 
005F 
0062 
00 7A 
007D 
0089 
module 
0083 



( 

C 

<• None: GetModDir 

(• By: Ron Voigts 

(• Date: 2-AUG-87 

I" Version: 1.00 

C 

( 



(• Function: 
(" This BasicOS program returns the 

(• directory for leve 1 OS-9. It 



14 



November's? 



'68' Micro Journal 



prints 




OODB 


(♦ the information in tabular form. 0180 


OOFE 


(« 016E (* Module Directory Entry Variables 


0101 
0119 




md_entty-HPDat / MBSiz.MPtr, Link : INTEGER 


011A 


(♦ Module directory pointers 01c8 DIM MD (256) :md_entEy 


13 6 


TYPE 


01D6 


nodule direct 


ory-start, finish; INTEGER 


01D7 (♦ 6609 Register Variables 


0145 


DIM ModDir ;niodule directory 


01P1 TYPE registers-cc,a,b,dp:BYTE; 


014E 


DIM D_ModDir: INTEGER 


x,y, u: INTEGER 


0155 




0216 DIM reg:registers 


0156 


(* Module Directory Enty Variables 


021F 


one 


TYPE rad entry-location : INTEGER; 


0220 (* level II Functions Service Request 


ilnk,duniny:BYTE 


0245 DIM GModDr: INTEGER 


018D 


DIM MD:md entry 


024C GModDr:-$lA 


0196 


DIM index: INTEGER 


0254 


0190 




0255 I* Indexes for later use 


01 9E 




026D DIM Index, i: INTEGER 


019F 


(* Intialize variables 


0278 


01B5 


D_ModDlr:-S26 


0279 (• Output path 


01BD 




0287 DIM pathrlNTEGER 


ModDir. start: 
01D6 


-PEEK (OModOir) '256+PEEK (D_ModDlr+l) 


028E 
028F 


ModOlr. finish 


:-PEEK(D ModDir*2)«256*PEEK(D Mod01r+3 


0290 (♦ Call to FSGModDr 


) 

01F2 


"* 


02 A3 reg.x:>ADDR<MD) 




02B1 RUN syscalltreg.GKodDr) 


01F3 


(* Print a header 


02C0 


0204 


PRINT -Addr Link" 


02C1 (* Trap any errors that may have 


0212 


PRINT » 


occurred 


0220 




02EA IF MOO(reg.cc,2)-l THEN 


0221 


(• Print the table 


02FC ERROR reg.b 


0233 


lndex:»ModDir. start 


0304 ELSE 
0308 


023E 


WHILE index<ModDir. finish OO 


02 4 S 




0309 (♦ Now we write the output to 


MD. location := 


PEEX (index) '256+PEEK (index+1) 


standard output 


0267 


►D. link: "PEEK (index+2) 


0336 PRINT "ENTRY! IMAGE SIZE MODULE 


0277 
0266 


IF MD.locationoO THEN 

PRINT USING -h4, ' 




HNr\" 




'. h2",MD. location. MD. link 




02A4 


ENDIF 


0380 index:-l 


02A6 


index:-index*4 


0387 . FDR i:=reg.x TO re9.y-8 STEP 8 


02B1 


END Willi* 


03A7 PRINT USING 


02B5 


END 


"S(X1,H4,X2)", index, hD (index) .MPDat,MJ (index 
) .MBSlz,MD<index) .MPtr,MD (index) .Link 


LISTING 


2 


03E3 lndex:-index+l 
03EE NEXT i 


PROCEDURE 


GetModDir 


03F9 ENDIF 


0000 
001C 




03FB END 


<♦ 




001F 


<♦ Name: GetModDir 




0031 


(« By: Ron Volgts 


EOF 


0042 


<♦ Date: 24-JUL-87 




0054 


{♦ Version: 2.00 




0064 
0067 
0064 


(* 




(♦ 




0087 


{* Function: 




0093 


I* This Basic09 program returns the 




module 






OOBD 


(♦ directory for level 2 OS-9. 




000B 


I* It prints the information in 




tabular 






0102 


(* form. 




010A 
010D 
012A 


<♦ 




(* 




012D 


(* Outside procedures required: 




014C 


(♦ SYSCALL from BASIC09 TOOLS 




0169 
016C 


(* 








016A 


(♦ 






FOR THOSE WHC 


a 


NEED TO KNOW 


68 MICRO ? 

TM 

JOURNAL 













'68' Mien} Journal 



November "87 



15 



68XX(X) AndThe STDBUS 



Bill West 

BILL WEST INCORPORATED 

174 Robert Drive 

Mllford. Connecticut 06460 

203 878 9376 

This is the first of what will hopefully be a series of 
articles describing various hardware configurations of 68XX(X) 
systems well-suited to industrial and/or control type 
applications. This includes systems that must operate in harsh 
environments. ROM-based systems, and any system that must 
interface to something other than a standard CRT. printer, or 
modem. Since t primarily work with OS9(tm) systems. 1 will 
lend to describe the systems from that perspective. The intent 
of the articles is to familiarize readers of 68 Micro with 
vaiious types of systems, and not to provide comprehensive 
or complete technical specifications for any of the systems 
presented. Any reader interested in using any of the systems 
will need to obtain detailed specifications from the supplier of 
the system, or you can contact me for more detailed 
information. The first several articles will concentrate on the 
STD bus. Later articles will describe how to use Macimosh(un) 
and Atari ST(tm) computers in control applications. 

The STD bus is a simple, inexpensive bus structure that is 
well-suited to the requirements of many control-type systems. 
A wide variety of boards are available, including those you 
would expect such as CPUs and memory boards, and some 
strange beasts such as those with pneumatic valves or radio 
receivers mounted on board. The STD bus was originally 
developed by Pro-Log Corporation as a simple bus structure 
for eight bit systems, and was released for unrestricted use 
with no trademarks, copyrights, or patents. STD bus circuit 
cards are 6.5" by 4.5" with a 56 contact card edge connector 
along one of the short sides. The opposite short side is 
considered the user interface, with whatever connections are 
required for the functions of a specilic card. The two long 
edges are supported by card guides. This provides a stable 
mounting configuration with the card supported on two sides 
by card guides and on a third side by the backplane connector, 
allowing STD bus systems to be used for applications subject 
to shock and vibration. 

The STD bus as originally conceived was designed to 
support typical eight bit processors, and the Z80 in particular. 
The 56 fingers of the backplane connector include 16 address 
lines. 8 data lines. 22 control lines. 6 logic power lines, and 
4 auxiliaiy power lines. The processor has access to a 64 
Kbyte memory address space and a 256 byte page of I/O 
address space. In addition, memory expansion and I/O 
expansion control lines allow access to an additional 64 
Kbytes of memoiy and a second 256 byte page of I/O. Recent 
variations of ihe STD bus have multiplexed data and address 



r a 

The STD bus is a simple, 

inexpensive bus structure 

that is well-suited to the requirements 

of many control-type systems... 

The biggest attraction 

of the STD BUS 

is the wide variety of 

I/O cards which are available... 



lines to handle 20 bit addressing, with some proposals for 24 
bit addressing and 16 bit data transfers. A number of 8088 
CPU boards using 20 bit addressing and eight bit data 
transfers are available. These newer CPUs allow sixtaen bit 
addressing of I/O devices. Most of the 68008 boards available 
on the STD bus attempt to conform to the 8088 specification 
to a greater or lesser extent. The definition of the control 
lines on the STD bus is processor dependent, with various 
peripheral cards designated as STD-Z80, STD-65/68xx, 
STD-8088. or STD-NSC800. This causes some compatibility 
problems between cards of different flavors, but a little 
reprogramming with a soldering iron and X-aclo tenife will 
handle most problems. 

I-et me make a slight digression here for those die-hard 
Motorola users who have never heard of Intel or the Z80. 
Unlike Motorola processors, which treat I/O devices just like 
memory locations, Intel processors and the Z80 have special 
instructions for accessing I/O ports. A control line from the 
processor indicates whether a particular bus access is a 
memory access or an I/O port access, and the bus cycle liming 
is usually different for I/O accesses. The STD bus reflects its 
oiigins by supporting the control lines necessary for this 
type of system. Most STD CPU cards which use Motorola or 
other processors supporting memory-mapped I/O have a 
mapping scheme which allocates some poition of the address 
space as I/O space (usually user-definable), and generates the 
appropriate control signals. 

The STD bus backplane includes two separate power buses. 
The main power bus consists of pins 1 through 6. Pins 1 and 
2 are five volt logic power, pins 3 and 4 are logic ground, and 
pitts 5 and 6 are minus five volts. Pins five and six may 
alternately be used for a battery backup voltage and a power 
down indicator. The auxiliary power bus includes auxiliary 
poslive on pin SS, auxiliary negative on pin 56, and auxiliary 
ground on pins S3 and 54. The auxiliary supply is usually 



16 



November U7 



68" Micro Journal 



plus and minus 12 volls for RS232 drivers, or plus and minus 
15 volls for analog circuits such as A/D convenors. Logic 
ground and auxiliary ground are separate circuits on the 
backplane, but may be connected on some cards or at the 
power supply. 

Although the number of data and address lines available in 
a particular bus structure are important in determining the 
potential peak performance of a system using the bus, the 
unique characteristics of a bus which determine its 
"personality", or appropriateness for a particular application, 
are a result of the control lines which regulate the interactions 
among the various cards inserted in the backplane. The STD 
bus provides 22 control lines, and the underlying theme in 
their organization is simplicity. Other than the fact that 
components are physically arranged on different cards and a 
few more data and address buffers are present, there is little 
difference between many STD bus systems and a single board 
computer with similar capabilities. The advantage of the STD 
bus system is that you can mix and match I/O devices to suit 
your particular requirements. Following is a list of the control 
lines present on the STD backplane, along with a general 
desciiption of their function. Note that signal names followed 
by a "•" are active low. This convention is usually used in 
STD bus documentation, and makes life easy for typesetters. 

WR* - Write indicates that the current bus cycle is a data 
transfer from the current bus master to memoiy or an I/O port. 
Data should be latched into memory or the port on the trailing 
(rising) edge of WR*. 

RD* - Read indicates that the current bus cycle is a data 
transfer from memory or an I/O port to the current bus master. 
Data should be latched on the trailing (rising) edge of RD*. 

IORQ* - I/O request indicates that the current bus cycle is an 
access to an I/O port. For Z80 processors, an interrupt 
acknowledge cycle is indicated by IORQ* and STATUS1* 
being active simultaneously. 

MEMRQ* - Memory request indicates the the current bus cycle 
is an access to memoiy (or memory-mapped I/O). 

IOEXP - When high, I/O expansion indicates that the 
expansion page of I/O ports is being accessed. 

MEMEX - When high, memory expansion indicates that the 
expanded memory area is being accessed. This signal is 
equivalent to A 16, and is normally not used in systems with 
20 bit multiplexed addressing. 

REFRESH* - Refresh indicates that the current bus cycle is a 
refresh cycle for dynamic RAM. This signal is generated by 
the Z80 processor, but is seldom used in newer systems. 

MCSYNC* - Machine cycle sync is a processor dependent 
signal that normally indicates the beginning of a machine 
cycle. On systems using extended addressing (more than 
sixteen address lines), this signal is used to latch the upper 
address lines. 

STATUS)* - Status 1 is a signal from the current master to 
provide liming information for peripheral devices. If available 
from the current master, this signal should indicate an 



instruction fetch. On Z80 systems, this is the Ml* signal 
which normal indicates an opcode fetch, but indicates an 
interrupt acknowledge cycle if it occurs together with IORQ* 

STATUSO* - Status is an additional timing signal for 
peripheral devices. Systems using Motorola processors usually 
put R/W* on this line. Unfortunately, Z80 systems typically 
don't use this line, and Intel systems put the equivalent signal 
on STATU SI* (opposite polarity no less). This is a major 
source of jncompatabiljty between various STD bus boards. (If 
you are currently using the STD bus and this is a problem for 
you, give me a call.) 

BUSAK* - The bus acknowledge signal originates from the 
permanent master to indicate the bus is available to a 
temporary master. 

BUSRQ* • The bus request signal is used by a temporary 
master such as a DMA controller to request control of the bus 
from the permanent master. 

INTAK* • Interrupt acknowledge is generated by the peimanent 
master to indicate the beginning of interrupt service. In 
vectored interrupt systems such as those using Z80 mode 2 
interrupts, the interrupting device places the interrupt vector 
on the data bus in response to this signal. If more than one 
source of interrupts is present in a system using vectored 
interrupts, a hardware priority scheme is necessary to 
determine which interrupting device is being serviced. 

INTRQ* - Interrupt request is used by peripheral devices lo 
interrupt the permanent master. 

WAITRQ* - Wait request is used to insert wait states in the 
current bus cycle. A valid address should be held on the bus 
when this signal is asserted. 

NMIRQ* - Non-maskable interrupt is a high-priority interrupt 
request line. 

SYSRESET* - System reset forces a hardware reset of all 
circuits. 

PBRESET* - Push button reset is an input to the system reset 
circuitry which causes SYSRESET* to be asserted. 

CLOCK* - This signal is the processor or system clock. 

CNTRL* - Control is an auxiliary clock signal lo provide 
additional timing information. 

PCO - Priority chain out, along with PCI, is used lo 
implement a position dependent daisy-chain priority scheme 
which may be used for arbitrating interrupt service or bus 
access. This active high signal indicates to lower priority 
cards that no higher priority card needs service. 

PCI - Priority chain in may be used with PCO to arbitrate bus 
access or interrupt service. A card with PCI low will hold its 
PCO low and not respond to BUSAK* or INTAK*. A card 
requesting service with PCI high will hold its PCO low lo 
suppress responses from lower priority cards, and respond to 
the appropriate acknowledge signal. A card not requesting 
service will pass the state of its PCI input to its PCO output. 



'66' Micro Journal 



November "87 



17 



The backplane serial priority chain using PCO and PCI is 
usually used for arbitrating interrupt priority. Parallel 
arbitration schemes for both bus and interrupt priority and 
serial schemes for bus priority may be implemented by 
interconnecting cards along the user edge. Although STD bus 
practice includes recommendations for such systems, they are 
very manufacturer dependent. 

What are the advantages and disadvantages of the STD bus 
compared to other bus structures and single board computers ? 
Let's look at single board computers first. A single board 
computer will almost always be less expensive than an 
equivalent multi-board system. Aside from the cost of multiple 
PC boards, a multi-board system requires a backplane with 
expensive connectors for interconnecting system components, 
plus additional buffering to drive signals over the backplane. 
The physical dimensions of the two types of system are 
different, and one or the other may better meet the 
requirements of a particular design. A single board system has 
a flat form factor, while an STD system is shaped more like a 
brick or a shoebox. An STD system allows much greater 
flexibility in selecting I/O configurations than a single-board 
computer, and allows the addition of new I/O interfaces if 
system requirements change. Compared to other bus systems, 
the STD bus has the advantages of small card size, low cost, 
and probably the widest variety of interfaces from the largest 
number of manufacturers. In addition, the bus interface is very 
simple. Many systems with unique interfacing requirements 
may be put together with an off-the-shelf CPU, memory, and 
disk and terminal I/O. and an easily designed custom I/O 
board. This would be a more difficult undertaking on a more 
complex bus such as the VME bus. Other bus structures such 
as the VME bus support higher performance systems than the 
STD bus. For a multiuser system connected to disks, printers, 
and CRTs, the VME bus might be a belter selection. One of 
the greatest disadvantages of the STD bus is that despite its 
name^ there are several different varieties of STD bus which 
treat certain control signals differently. In practice however, 
the problems caused by these incompatabilities are most 
severe when integrating a CPU with dynamic memories and 
disk controllers. Usually an appropriate base configuration 
can be arrived at with a compatible CPU, memory, and disk 
controller. Then the user can pick and choose from the wide 
variety of I/O cards available on the STD bus. 

The biggest attraction of the STD BUS is the wide variety 
of I/O cards which are available. Serial and parallel interfaces, 
disk controllers, SCSI interfaces, and LAN controllers in both 
conventional and intelligent configurations are supplied by 
numerous manufacturers. The STD Bus Buyer's Guide lists 
analog input or output products from 47 different 
manufacturers. A number of different types of display are 
supported, including video. LED, LCD. and plasma displays. 
As examples of some of the more unusual boards available, 
C-Matic Systems Ltd. supplies the STD 1920, a digital gauge 
head signal conditioning and interpolation board which 



FOR THOSE WH 



provides a direct interface into Moire fringe type gauge heads, 
and the STD 1410 four channel LVTD/lnductive transducer 
interface with four independent channels of excitation and 
conditioning for interface to LVDT position guages. Contaq 
Technologies' UDM STD ultrasonic distance measuring board 
contains the complete signal processing necessary to perfoim 
non-contact distance measurement of objects betwaen 0.5 and 
35 feet, using ultrasonic techniques. Conway Engineering and 
Advanced Micro Systems both supply boards using National 
Semiconductor's voice synthesizer to provide voice output 
from the STD bus. Enlode Incorporated and Mimic, Inc. 
provide the reverse function with a cards that digitize audio 
inputs. Micro-Link and Parker Pneutronics supply STD bus 
cards with pneumatic valves or pressure switches and controls 
mounted directly on the card. If an application requires a 
special interface not available as an off the shelf product, 
prototyping cards are available which include the bus interface 
and an area for wire-wrapping. The interface to the bus is veiy 
simple and can be implemented with an address decoder, data 
bus buffer, and a few gales or a PAL(tm), allowing custom STD 
PC boards to be developed quickly and cheaply. 

A number of Motorola family processors are available on 
the STD bus, ranging from the 6802 to the 68010. Along 
with proprietary monitors from various vendors. ROM and 
disk based systems are available using FORTH, PDOS, FLEX, 
OS9 Level I and 2, and OS9 68K. The most recent edition of 
the STD BUS Buyer's Guide from Control Engineering listed 
over 25 CPU boards using a Motorola family processor. Next 
month, I will briefly review some of the more interesting STD 
CPUs using Motorola processors. In the future I hope to 
discuss using the STD bus as an I/O expansion bus for other 
systems, including VME bus systems, systems based on the 
GMX Micro. 20, and Apple Macintosh and Atari ST systems. 
Let me know if there is a particular topic which you would 
like to see addressed. 

If you would like information about manufacturers of STD 
bus products or technical specifications for the various 
varieties of STD bus. you can contact the John Orr, Chairman 
of the STD Manufacturer's Group, c/o Pro-Log Corporation, 
2560 Garden Road, Monterey, CA, 93940. The telephone 
number is 408 372-4593. The "STD Bus Buyer's Guide" is a 
good (but expensive - S44.95) reference which lists many STD 
bus products and manufacturers. Contact the "Control 
Engineering" Microcomputer Interface Group at 
1-800-992-4447 (1-800-348-8342 in Illinois) if you are 
interested. And don't miss the ad for Bill West Incorporated 
elswhere in this issue I 

Trademarks: OS9, Microware; Macintosh. Apple; ST, Atari. 




68 MICRO 



JOURNAL 



™ 



te 



November '87 



68 Micro .toumal 



L©gi<oally 



kino 



The following ii the 

SSSJiStS 1 The Mathematical Design of Digital Control Circuits 



remember Bob I inn hii 
sencs of I cue is on X BASIC. 
If you like it or warn more, 
let Hob or ui know. We want 
to give you ■ what you want' 



I3y : R. Jones 

Micron ici Research Coip. 

33383 Lynn Ave., Abbotsfoid, B.C. 

Canada V2S 1 E2 

Copyrighted © by R. Jono & CPI 



Solutions to TEST THREE 



cd\ oo ol u 10 



oo 










o\ 










H 










10 


1 








00 


0) 

oo o\ |l IO 










o\ 








1 


11 








1 


\o 










c£\ 


CO CI (1 to 


oo 










01 










11 


1 






1 


to 


I 






1 



OO 






1 




01 










II 










IO 











Q jK oo ol ti 



oo 








- ■ 


Ol 










11 










IO 


i 


1 







oA \tf>,°' . u io 



oo 


' 


— 




1 




0| 






I 




11 






1 




10 






1 






eft 

Solutfons (O TEST POUR 



(io) 



M 



rJ\ oo,oi , II io 
oo 



01 

II 

10 



(?) 



\ob 
Q j\ <» o< U IC 

oo 

II 
10 _ 

yob 



















t 






1 











oo 


I 









o( 


1 


I 






II 


1 


1 






IO 


1 


1 







oo 



ob 

OO Ol U to 



OO 




1 






Ol 




I 






II 










10 










cd \O0 ol |1 l£j 


OO 






1 


1 


Ol 










t| 










lo 






1 


1 


(?) 

r( i\oo oi U io 


oo 


1 


1 


\ 


I 


01 










11 










10 


1 


1 


1 


I 



<») 



(i) bd' + b'd 
(ii) a'c* + bd 1 
<iU) *• + d 
(iv) b* + d 



<b* + d')(b + d) 

(a' + bj<a' td'Kbtc'Kc' + d') 
a' + d 
b' + d 



(v> b*c + be" + a'c'd' (b' + c*) (a 1 + b + c) (b + c + d") 

OR b'c + be' + a'b'd' 

(vi) ad' + bd' + abc' (a + b) <a + d' Mb + d* ) (c ' + d') 

(vii) b* + d' b' + d' 

(viii) abc + bed + ad + be 

(a' + b + c> (a' + b* + c') (a' + b' * d) (b' + c" +■ d) (b + c + d) 

OR [a' + b + c) (a' + b' + c'J (a* + c + d> {b* + c' + d) (b + c + d) 



Mile 3 - heading for Mile 4 



66" Micro Journal 



November "87 



19 



IMPLICANTS 

Here are definitions for a few words you're likely to come across In literature on this subject, 
but you need make no special effort to remember them right now. 

IMPL1CANT Every mlnterm on a K-map is an tmplicant. That is. each single "1". So also is 
ANY loop that you can make on the map, whether it's the largest possible to Include a particular 
mlntenn. or whether it's not. 

PRIME IMPLICANT Any loop on the map. AS LONG AS ITS THE LARGEST POSSIBLE LOOP 
to Include a particular mlnterm. 

ESSENTIAL PRIME IMPLICANT A prime lmpllcant which MUST be retained In the reading 
of the K-map. In Map (v) of TEST FOUR, for Instance, the top left-hand "1" may be looped either 
with the "1" to the right. OR with the "1" In the bottom left-hand comer. Here, where you have a 
choice, neither Is ESSENTIAL. The other two loops are, however. 

THE SYNTHESIS OF COMBINATIONAL CONTROL-CIRCUITS 

Here's what you've all been waiting for! Desiring an actual circuit, albeit a simple one. I 
think the best way to demonstrate the technique Is to work on a hypothetical set of 
specifications, so we'll assume that a customer wishes us to construct a circuit to Initiate the 
automatic packaging of electrical switch-boxes. Let us therefore imagine a conveyor-system 
carrying streams of switch-boxes towards the packaging-machine, and Just before the machine 
we need a 111 tie switch-panel, with a small bank of switches which can be toggled ON or OFF by a 
human operator, who scans the switch-boxes as they approach him on the belt. These switches 
are labelled 'FUSED'. 'CHROMED', etc. as we'll determine from the supplied set of specs. Here 
they are : 

1. The switch will be packaged If It's seam- welded and painted grey. OR if the case is 
unpalnted but chrome-plated. 

2. The switch will NOr be packaged If fuses are Incorporated and the case is seam-welded 
and chrome-plated. It will also NOr be packaged If the case Is spot-welded and painted. 

3. If fuses are Installed and the case Is painted. It may or may not be packaged, at OUR 
discretion - whichever leads to the simpler circuit. 

Now we can imagine the operator flipping the bank of control-switches in accordance with 
the type of switch-box approaching, which in turn will either divert the switch-box off to one 
side, OR allow it to proceed Into the packaging machine. It's not likely that you'll be called on to 
design this veiy circuit, but you'll certainly use exactly the technique which I'm about to 
describe. 

Our first step, as In the case of Club membership, is to pick out the variables Involved and 
assign letters to them, as set out below : 

w - seam-welded w' - spot-welded 

p - painted p' - chromed (ie, unpainted) 

g - grey g' - not grey 

f - fused f - unfused 

T (the transmission function) - 1 for package 

- for don't package. 

And Just to make It a little more Interesting, we'll throw in our own observation that 
"chromed AND j£"ey" is an Impossible condition, which we'll call Specification 4. 

Our second step Is to reduce these specs to algebraic form : 

1. If wpg + p' then T - 1 

2. If fwp' + w'p then T - 

3. If fp then T - 

4 . p'g T - a 



20 November B7 '68' Micro Journal 



Both these symbols, and 0. are pronounced "fy". as In "magnify", and are upper and lower- 
case Greek letter "phi" respectively. The first. 0. will be used whenever we have a choice, or don't 
care to make a decision for the moment. For this reason. It's often referred to as a "don't care". 
The second. 0. will be used to designate an Impossible condition. As far as I know, no such 
distinction Is made by ANY OTHER design-system, and you'll find that other authors use only 
the one symbol. 0. for both conditions. However, in my expeilence, two separate symbols DO 
have certain distinct advantages, as we'll see shortly. 





Ol Li 


10 


r<P 


Ol 


11 


10 


CO 


1 


0] 


1 


OO 

II 

10 


1 


O 


4> 


1 


01 


1 


o<t>\ $ 


10 


1 


O 


* 


I 


II 


\0 


0$|l4 


\O0 





O 


1 





\0 


10 


|l 


\0 





O 


1 


4 






(.a) 




Cb) 

(Diagram 10 





r^ p 

Mr 

00 1 



CO 
Ol 



It 



ro 



y 



£L 






to 



K 



The third step Is to enter these expressions on a "synthesis map", which Is no more than a K- 
map, but with the difference that multiple symbols may be entered In Its squares, provided that 
no more than one of each kind Is so entered. Dta^am 10a shows our first attempt at entering 
the appropriate symbol (1. 0. or 0) according to the teims In the four expressions obtained 
from the specifications. If the specs were all In order we should see a completely-filled map with 
exactly one symbol In each square, and the fact that this Is NOT so Indicates that we have 
logical problems In our specs. 

CONTRADICTIONS AND AMBIGUITD2S 

Different entries In one square Indicate a "contradiction", while an empty square arises 
from an "ambiguity", or unspecified condition. 

For example, squaie 1001 indicates that the customer wants to both package and NOT 
package under the condition wp'g'f. Square 1011, wp'gf , Is even worse - not only is there a direct 
contradiction In the specs, but this Is a situation which Is Impossible to occur anyway. 

On the other hand, the empty square 1 100. wpg'f . needs an Instruction from the specifier. So 
let's assume that when we contact him and point all this out. he says that he doesn't care what 
we do with 1 100. so we Insert a in this square. Well further assume that he decides that any 
1,0 contradictions should be resolved In favour of 1. 

Any squares which contain an "impossible" are. of course. Immediately converted to a 
definite 0, as any instruction other than this Is meaningless when the situation is Impossible. 
Squares containing a "don't care" 0. however, must give precedence to a definite 1. or 0. 
occupying the same square as Itself. The customer has already told us to resolve 1 ,0 
contradictions in favour of 1, so we'll not have any 1.0s In the same square any longer. 

Applying all this to K-map 10a results In K-map 10b. which Is now an acceptable map. as It 
contains EXACTLY one entry per square. We find that if we read out Ihe Is on this map we 
obtain the control expression : 

P'g" + wpg 

with no mention of "f ', so obviously the question of whether the switch-box is fused or not Is 
totally irrelevant. Note in passing that again ONCE WE HAVE OUR PROBLEM SAFELY 
COMMOTED TO A MAP. THE PROBLEM IS AUTOMATICALLY SOLVED. 

BUT. and this Is EXmEMELY Important In designing good reliable circuits. WE CAN MAKE 
USE OF THE PHI's fN BOTH FORMS TO MINIMISE OUR NETWORK STILL FURTHER 

CIRCUIT MINIMISATION USING PHI 

We can use the 0s (after all. the customer has said that he doesn't care what happens under 
these conditions) as If they were is. thus reducing our readout of "wpg" to "wp". to give a control- 
expression of 



'66' Micro Journal 



November '87 



21 




P'g + wp 

Moreover. If a particular set of conditions can NEVER arise, we COULD design our circuit to 
hand out free dilnks to everyone under these circumstances BECAUSE THIS WILL NEVER BE 
CALLED ON TO OCCUR However, as our only aim is to obtain nice large loops on our K-map. 
we'll settle for making the as into Is as well. We thus end up with Diagram 10c above - shown for 
demonstration puiposes only, as we don't ACTUALLY convert the phi's to Is: we simply read 
them as if they were. Accordingly we end up with a reading of : 

p' + w 

by looping together the first and last columns to give p'. and the last two columns to give w. 
By making optimum use of the phi's we have not only reduced the total number of contacts from 
an initial 5 to a final 2. but have also eliminated another variable so that we now only need 2 
switches to be set by the operator. Instead of our earlier 3. 1 his helps to reduce the possibility of 
human error in setting the switches, especially at the end of a long, tiling shift, as he now only 
has to determine the type of welding on the switch-boxes, and whether they're chromed or not. 
Our circuit can be formed directly from the switches themselves, without the need of any relays, 
as shown In Diagram 1 1 : 

ri 

Packaging rlOClUne 



Diagram 1 1 

READING PHI TO FORM OPTIMUM LOOPS 

Don't be misled Into thinking that ALL the phi's MUSI* be completely used up. We can pick 
and choose, and select only those which are necessaiy to give us the best reading of the K-map 
formed from the synthesis map. the remainder being interpreted as Os. 

In the case of this circuit, reading the Os. and then complementing, results In exactly the 
same circuit, indicating that there Is no alternative form. But keep In mind - THIS IS 
IMPORPANT - when reading Os. that you can now make a completely different decision 
regarding the phi's. Just because a Is reading leaves us with a certain collection of "phl-Os" 
doesn't mean that we're stuck with this interpretation. No. this Is a completely separate and 
Independent read-out of the map! Sometimes It happens that the phi's are more advantageously 
distributed for a Os read-out. and we can actually end up with a smaller circuit this way. 
Sometimes, of course, it's a more complicated circuit! So. to be absolutely certain, we should do 
both types of map-reading. 

A BRIEF RE-CAP 

Before trying a second circuit-design, let's Just take a final look at this whole process, and 
observe how difficult (nay. Impossible) it would be to discover the logical contradictions In our 
Initial set of wiitten specs, or that there's one combination of switch-box characteristics that's 
not even covered. Even though this is a VERY small set of specs! It's difficult enough to 
determine this EVEN WHEN WE KNOW FROM OUR SYNTHESIS-MAP that these logical 
problems exist. This is what makes it so hard sometimes to design a circuit by the old "seat-of- 
the-pants" method, where a designer simply sits down and begins drawing up a circuit directly 
from the specs. In addition, very often he has so much trouble trying to design for what 
APPEARS to be "possible", according to the specs, that he sees no need at all to concern himself 
with the added burden of what is "Impossible" in a circuit. There must be thousands of designers 
who don't realise what a terrific advantage both types of phi can offer. In fact, the more of them 
there are. the more flexibility we have in choosing our final network, and. in general, the more 
compact the final design is going to bel So let's keep an eye open for these little fellows, and use 
them to our advantage at every opportunity. By the way, the symbol was originally chosen 
because it actually looks like a 1 and a superimposed, meaning that, for the moment, we 
haven't decided which It's going to be. 



22 November '87 '68' Micro Journal 



ANOTHER COMBINATIONAL CIRCUIT DESIGN 

To re-inforce our new technique, let's assume that we have a mechanical press, which has to 
cycle automatically if there's a component positioned correctly AND the die Is up to 
temperature, OR If the Stait-Swltch Is operated (possibly to test for smooth operation by a set-up 
technician). It should stop If the Stop-Switch is operated. 

That certainly seems straightforward enough - no logical problems there that I can 
deteimlne right now! How about you? Do you see any? 

Let's design two different machines. One where the Stop and Stait switches are Interlocked 
to prevent both of them from being actuated simultaneously (that seems a reasonable 
precaution), and two, where these switches are tnterlocked to prevent both ON-conditions from 
occurring simultaneously, and also both OFF-condltlons (that is. If one Is ON, the other must be 
OFF). If we call the Stait-Swltch XI and the Stop-Switch Hi. this means that In Circuit- 1 XI. X2 
= a. and In Clrcutt-2 XI. X2 and XI '.X2' = a. 

OK, let's allocate our variables, and set out our various transmission functions for these 
circuits. 



Let a «• Part in position 

C - STOP-Switch operated 



b " die up to temperature 
d - START-Switch operated 



hen ab + d 


T - 1 




c 


T - 




cd 


T - a 


(circuit 1) 


OR cd + c'd' 


T - 


(circuit 2) 



ab 



©0 






1, 




o[ 


1 


, 


1 


1 


11 


2 


of 


O0 


1 


10 


a 

i 


o 


o 
t 


o 


rcfS 


> 

oo 01 U to 


eo 


~$ 


4> 




1 


* 


01 


I 


i 


1 


1 


II 


ad 
i 


od 
1 


o4 


od 


10 


o 


o 


o 
1 






CO 



CO 



«b 

oo 0\ tllO 



oo 


o 


o 


\ 


o 


01 


1 


1 


1 


I 


11 











* 


to 


o 


Q 


o 







> 

CO o\ ll to 


oo 





4 


*\* 


o\ 


i 


1 


'1' 


II 


<3* 


<fi 


0p 


10 


o 


O 


1 °\° 

\ 1 



Diagram 12 

Observe the (rlple-contiadlctlon along the whole of the 1 1-row of the upper synthesis-map. 
In this situation, we don't really need a decision from the customer, because this row Is an 
"Impossible" raw. On the othr hand. If these were "don't care" phi's, we would HAVE to go back to 
the customer and explain that In effect he's telling us (1) that the press MUST cycle under these 
conditions, (ll) that It must NOT cycle and (ill) that he doesn't care what It does. As It's an 
"Impossible" situation, however, we merely advise the customer of the flaw In his specs (nicely , 
of course), and eliminate both his Is and his Os In favour of a In this row. Now you see why I 
developed the Idea of having two distinct phi's!! In addition there Is a simple 1,0 contradiction 
in square 1 110 (interpretation - part in position, die up to temperature, STOP-swltch pressed. 
START-swltch not pressed), which common-sense dictates should be resolved in favour of 0. 



'68' Micro Journal 



November's/ 



23 



Obviously, even though the press conditions are OK, If someone Is activating the STOP-switch 
the press MUST stop. Maybe someone has his fingers or his head caught In the press, and must 
be released! There are also a few ambiguities, or unspecified conditions, in the top row. which a 
further application of common-sense will normally resolve in favour of O. This produces the It- 
map to the right, from which we read out abc' + d. 

The lower synthesis-map gives us an additional row of os in the top row. which we resolve 
completely In favour of 0. resulting in the K-map to the light, we can read this as either c' (by 
looping the top 2 rows) or as d (by looping the centre 2 rows). As this circuit does not take into 
account ANY of the Internal press conditions, we would be well advised to go back to our 
customer to verify whether this is what he REALLY desires! 

Isn't it amazing how these little Is and Os and phi's show up the logical flaws In 
specifications, which might otherwise go undetected!! The synthesis-map also highlights 
ambiguities, so that we can be ABSOLUTELY certain that we've not overlooked a particular 
combination of circumstances in our design, leaving the machine or circuit undecided what to 
do should this combination occur. 

Now it's your turn to try your hand. Don't concern yourself with whether these are realistic 
machines or not. After all. if this is what the customer wants, who are we to argue with him? 
Don't forget, we're In this business to earn some money with our fabulous designs! So let's go 
make our fortune!! Here then Is 

TEST FIVE 

1. This may sound a little confusing, so take It one step at a time. Assume we have an 
automatic car-washing establishment, whose entrance-barrier will be raised if the right coins 
are dropped into a collection-box. The presence of a car is Indicated by a detector-pad in the 
entrance-way, and the cars are counted by a photocell device. 

The proprietor requires a light in his office to be ON if the barrier is down and the photocell 
lit and no car present. OR if a car is present, the light-souice OK and the photocell not lit (In 
other words, everything is functioning normally). On the other hand, the office-light is to go out 
If the light-source for the photocell goes out. OR if the barrier is raised when no car Is present 
(but the light-souice Is OK and the photocell is lit). Design the circuit to control the office-light. 

HINT : It's impossible, with no car present, for the light-source to be OK and the photocell not 
lit. or vice-versa. 

2. Design a release-mechanism for a chocolate-bar machine, such that the pull-drawer can 
be operated If '2 dimes plus 1 nickel' OR 1 quarter is Inserted, and then a button pressed. The 
release mechanism must not operate if there are no chocolate-bars in the machine. (Let's not 
worry about returning the customer's money!) Further, both sets of coins cannot be Inserted 
simultaneously. 

That should keep you all quiet for a little while! Our journey will get more and more 
Interesting from now on in. and It will be a long while before we come across anything as 
strange as the Laws of Boolean swamp. Soon, we'll even be leaving K-maps behind, and playing 
with decimal numbers Instead, as I promised earlier. So next lime, we'll move out of 
Combinational-Circuit country, and Into the land of Sequential-Circuits. An easy transition. I 
can assure you. Well, anyway, it won't be a hard one! 

End of Mile 3. OK. have it your way -- Start of Mile 4! 

EOF 




FOR THOSE WHO l »VMilWJtiffffla ■ 68 micro 

JOURNAL 



24 November '87 68' Micro Journal 




Con verting the IBM-XT Keyboard 

I to Replace the CT-82 



s/Cltve K. Allan 

23 Henwood Street 

Blackburn South Victoria 3130 

Australia 

Here Is a neat little hardware project using the 
MC68705P3 8-btt Eprom microcomputer that you and 
your readers may find Interesting. 

The design revolves around converting an IBM- 
XT type keyboard serial output into 7 bit parallel 
ascil with strobe line. In my particular case I wanted 
it to emulate the SWTPC's CT-82 keyboard which 
meant some additional circuitry. 

Before getting Into the nitty gritty I would like to 
point out that the original Idea, software and 
hardware development was done by 2 fellow micro 
club members. Frank CrlvelU and Wayne Fordham. I 
owe them much In helping me line tune this project 
to get It to work on the XT keyboard. 

In wanting to replace my rapidly decaying 
keyyyboooard I looked around fr a suitable 
alternative. Unfortunately the peple at SWTPC 
developed an Interesting way of getting both standard 
parallel ascil and parallel cursor control output. They 
split the 2 Into affectively two totally seperate 
keyboards, each with Its own data and strobe lines. 
Veiy good you might say, but rather difficult to 
replace. 

This was when I discovered that my 2 friends had 
developed a way of converting an IBM keyboard to 7 
bit asctl parallel output. I duly went out and 
purchased an IBM keyboard clone, borrowed one of 
thler MC68705's and proptly found It dld'nt work at 
all. So much for doing It the easy way! 

I soon discovered that not all IBM keyboards are 
the same. They all have the same hardware 
requirements, but thats where the slmularlty ends. 
From what I can gather there are at least three 
different units. 1) PC keyboard - Earliest keyboard 
has a 10 bit data stream 2) XT keyboard - Cheaple 
IBM has 9 bit data stream 3) AT keyboard - Not the 
same as above (haven't worked It out) 

The keyboard I purchased was a swltchable 
XT /AT modi and I used It In the XT mode to get the 
little Indicator lights to work (caps lock etc). There 
are 4 connections to the keyboard; power (5v). ground, 
serial data output and serial clock output. 

In operation, when a key Is depressed 9 clock 
pulses are sent out on the serial clock line (approx 50 
micro Sees apart) and simultaneously data Is sent out 
over the data line. By sampling the condition of the 
data line at every clock pulse the data can be 



determined. If the first clock pulse and associate! dala 
Is Ignored, the following 8 make up a unique 8 bit code 
for that particular key. BO Is sent out fli-st. B7 last. B7 
Is special In that It Indicates whether the key was 
depressed (B7=0) or the key was released (B7«=l). 
Once the data Is In, It Is only a matter of code 
conversion and In my particular case directing to 
keyboard output or cursor output. 

I used the INT Input of the MC68705 to receive 
the serial clock ftom the keyboard. This Is done In an 
Interupt mode because the veiy short durallo of the 
clock pulse (<5 micro Sees) prohibited reliable level 
checking of a port pin using polling. The INT can be 
made to bring up an Interupt much like a CA pin of a 
6821. 

Serial data Is shifted Into temp store and a 
counter Is Incremented. The main program checks 
this count and when It has reached 9 (because I do 
not want the first bit) a valid byte is In the temp store. 
You could change this count to suit say a PC 
keyboard In which case It would count to 10 before 
flagging a valid byte. 

The main program Is fairly straight forward In 
converting this byte Into Its asctl equivalent. The 
program also remembers If nums lock, caps lock, 
shift etc Is active. Remember, as far as the keyboard 
Is concerned all of hese keys (Alt. Caps Lock. Num lok 
etc) are Just that - keys, they d not modify the output 
of other keys. It Is up to the 6805 to track of their 
condition. E.g don't unplug the keyboard then plug It 
back In and expect It to work properly as the 
keyboard's condition may not be what the 6805 
thinks It should be. 

One last point that should be made and some of 
you may have already figured It out. Is that because of 
the way of collecting data ftom the keyboard there Is a 
risk that a serial clock pulse Is missed or mote likely 
a glltc Is mistaken for a clock pulse the 6805 Is 
permanently out of sync with the keyboard and the 
only way to correct Is to reset the cpu. 

I found this out the hard way when I flicked the 
switch on the keyboard to AT and back to XT then 
wondered why It slopped working. Fortunately there 
Is an Inbuilt timer in the cpu. All I did was to work out 
how long valid data took to enter and be processed. If 
this value Is blown the timer Initiates an Interupt 
whose routine clears down all the flags affectively 
esetlng the cpu. 



'68' Micro Journal 



November's? 



25 



3 



o 

3 

9 



IBM 



XT KEYBOARD 
DECODER 



IBM- XT KEYBOARD CONVERS ION TO ASCII PARRALLEL 
10 BE USED AS REPLACEMENT KEYBOARD FOR CT-8? 

Original Idea, software and hardware develop- 
ment by Frank Crivelli t Wayne Fardham 

Modified to suit XT keyboard aid CT-B2 by: 
Clive Allan 

23 Hen wood Street, Blackburn South 3130 
victoria, Australia. 

Date 12th May 1967 



This Software routine has to be assembled by a 
6805 assembler; then to be transferred to a 
MC68705P3 micro. 



HARDWARE 



PORT-A - BITS 0-6 KEYBOARD ASCII 
OUTPUT TO TERMINAL. 
BIT 7 KEYBOARD STROBE 

PORT-B - BITS 0-3 CURSOR CONTROL 
OUTPUT TO TERMINAL 
BIT 4 CURSOR STROBE 

PORT-C ■ BIT SERIAL DATA FROM 
FROM XT KEYBOARD 

INT PIN (2) SERIAL CLOCK FROM XT 
KEYBOARD 







• GLOBAL EQUATES 

* 




0000 


porta 


equ SO 




0001 


portb 


equ $1 




0002 


portc 


equ $2 




0004 


ddra 


equ $4 


& 


0005 


ddrb 


equ $5 


s 


0006 


ddrc 


equ SE 


«■ 


0008 


tdr 


equ $8 


5 

or 

c 

3 


0009 


tcr 


equ S9 



porta ddr 
portb ddr 
portc ddr 
tinier data reg 
timer control reg 



Mlt7\lo€ P} 







»ai y to Ct-%1 
btt.1 W» 



VT modV 



^ 



w 



f 



.v> L 



t**»o 



\ 



W 



u. 



bi 



w 



W> 



U, b 



i.H\f-r fctT »} 



u. 



16 



to 



ys 



V, 



wi 



^HlpT k.Cf ovr- 



«. ( >- i Ci •> I o 



#D5 * -#S5 ^ 



£ 
o 



I 



0010 
0010 



0011 
0012 
0013 



* RAH VARIABLES 



org 



kstate rmb 



$010 



status of function keys 



• 


BIT 


COKEMT 


• 





Shift key operated 


■ 


1 


Caps key lock activated 


• 


2 


Control key active 


• 


3 


Numbers lock activated 


• 


4 


Alt key operated 


• 


5-7 


Not used 



Temp storage for incoming data 



store 


nnb 


1 


count 


rmb 


1 


data 


rmb 


1 



raw data 

counter for incoming data 

processed binary data 



* MAIN PROGRAM STARTS HERE 



0121 


9B 




0122 


B6 


02 


0124 


A4 


01 


0126 


38 


11 


0128 


BB 


11 


012A 


B7 


U 


012C 


3C 


12 


012E 


9A 




012F 


80 





go 



sei 




Ida 


poitc 


anda 


($01 


lsl 


store 


adda 


store 


sta 


store 


inc 


count 


ell 




iti 





mask further interupts 
grab k/b data line 

shift data in 



inc counter 
clear int mask 



• TWER KAICH-DOG ROUTINE 

■ 

• ALL 8 BITS RAVE HOT BEEN ENTERED IN 30 mSec 

• TIME COUNTER HAS FAL1EN THROUGH. RESET 

• FLAG VARIABLES. 



0130 3F 11 


tine 


clr 


store 




0132 3F 13 




clr 


data 




0134 3F 12 




clr 


count 




0136 A6 FF 




Ida 


ISFF 




0138 B7 08 




sta 


tdr 


reset timer 


013A IF 09 




bclr 


7, tcr clear 


to allow int 


013C 80 




rtl 







0100 



? 



0100 


3F 


10 


0102 


3F 


11 


0104 


3F 


12 


0106 


3F 


13 


0108 


A6 


FF 


010A 


B7 


04 


010C 


B7 


05 


010E 


B7 


08 


0110 


A6 


FE 


0112 


B7 


06 


0114 


IE 


00 


0116 


18 


01 


0118 


A6 


07 


011A 


B7 


09 


one 


9C 




011D 


9A 




>011E 


CC 


0151 



org $100 

* Initialize routine to set paramenters 



reset 



clr 


kstate 


clr 


store 


clr 


count 


clr 


data 


Ida 


ISFF 


sta 


ddra 


sta 


ddrb 


sta 


tdr 


Ida 


ISFE 


sta 


ddrc 


bset 


7, porta set 


bset 


4,portb Cursor 


Ida 


ItOOOOOlll 


sta 


tcr 


rsp 




cli 




jmp 


readml 



INTERUPT ROUTINE 



clear variables 



set ddr for outputs 
on ports A i B 

reset watch-dog timer 
set pozt-C bitO input 

key/brd ( 

strobe lines highb 

set timer/128 elk 

inhibite timer lnterupt 

reset stack 

clear inteiupt mask 

go to primary 



THIS ROUTINE IS CALLED EVERY TIME THE 
IBM-XT KEYBOARD CLOCK LINE GOES LOW. 
IT HILL BE CAIJ£D 9 TIMES TO STORE 
ONE MCTtD, 50 micro SECS BETWEEN CALLS. 



013D AA 80 
013F B7 00 
0141 IF 00 
0143 IE 00 
0145 20 0A 



0147 AA 10 
0149 B7 01 
014B 19 01 
014D 18 01 
014F 20 00 



01S1 A6 FF 
01S3 B7 08 
0155 B6 12 
0157 Al 09 
0159 27 06 



OUTPUT ROUTINES 



OUTPUT TO KEYBOARD AND STROBE 
DATA HELD IN ACC-A 



putkey 



ora ($80 

sta porta 

bclr 7, porta 

bset 7, porta 

bra readml 



• OUTPUT TO CURSOR AND STROBE 

* DATA HELD IN ACC-A 



putchr 



ora l$10 

sta portb 

bclr 4, portb 

bset 4 .portb 

bra readml 



don't alter strobe 
output data 
strobe low 
reset strobe 
return to start 



don't alter strobe 
output data 
strobe low 
reset strobe 
return to start 



* PRIMARY PROGRAM STARTS HERE; IS ONLY 

* ACTIVE AFTER SERIAL BIT STREAM HAS 

* FINISHED FROM KEYBOARD 



readml Ida ISFF 

sta tdr 

read3 Ida count 

aipa #39 

beg out 



reset watchdog 
check if valid data 
go process data 









015B 


Al 


00 




CJIflA 


IS00 




Is It Idle? 
















015D 


27 


F2 




beq 


readnl 




yes, restore watch-dog 




* 33 




, 


43 


F9 




015F 


20 


F4 




bra 


read3 




no, could be stuck wait 




• 34 




, 


44 


F10 






















* 35 




/ 


45 


NVM IX 








• Data 


Is in 


but order 


reversed, clean up. 




* 36 




srt tR) 


46 


SRL LK 




















37 




• 


47 


m-jME- 




oiei 


A6 


08 out 


Ida 


158 








• 38 




ALT 


48 


n 




0163 


39 


11 novel 


rol 


store 




get data out 




• 39 




SPACE 


49 


PC UP 




0165 


36 


13 




cor 


data 




stuff it in 
















0167 


4A 






deoa 










• 4A 






4B 


< — 




0168 


26 


F9 




bne 


novel 








* *C 






4D 


— > 




016A 


3F 


12 




clr 


count 




reset bit counter 




• 4E 




+ 


4F 


END 




016C 


3F 


11 




clr 


store 




clear data catch; ready 


for more 


• 50 




V 


51 


PG ON 




















* 52 




INS 


53 


DEL 










• CHARACTER 


NON IN TEH? STROBE CALIZD 'DATA' 




• 54 




SYS RES 














• CHECK 


CONDITION OF FUNCTION KEYS ANO CONVERT 






















' APPROPRIATE COrftNO 


TO ASCII PARRALLEL. 






















• KEYBOARD DATA FORMAT 


; 8 


BITS DATA (7TH BIT 






















» - KEY PRESSED, 1 - 


KEY 


RELEASED. 




• FIRST CHECK 


FOR FUNCTION 


KEY 










' bin code : Function bl 


n code: Function 


016E B6 13 




Ida 


data 






is tcey being released? 


















0170 2B 3D 




hmi 


relcod 






bit 7 set 








1 01 




ISC 


OF 


I<« 


0172 Al 10 




empa 


tSID 






is it control key? 








• 02 




1 


10 


Q 


0174 27 16 




beq 


metrls 






yes, set blt2 kstate 








» 03 




2 


11 


N 


0176 Al 2A 




enpa 


i$2A 






is key left shift key 








■ 04 




3 


12 


E 


0178 27 16 




beq 


mshift 






set bit in kstate 








■ 05 




4 


13 


R 


017A Al 36 




onpa 


#$36 






is key right shift key 








• 06 




5 


14 


T 


017C 27 12 




beq 


mshift 














07 




6 


15 


Y 


017E Al 3A 




enpa 


#$3A 






is key caps lock key 








• 08 




7 


16 


U 


0180 27 12 




beq 


mcapsl 






set bit 1 in kstate 








■ 09 




8 


17 


I 


0182 Al 38 




anpa 


#538 






is key alt key 








■ 0A 




9 


18 


O 


0184 27 19 




beq 


maltss 






set bit 4 kstate 








• 0B 







19 


P 


0186 Al 45 




capa 


#545 






is key num lock 








• OC 




. 


1A 


( 


0188 27 19 




beq 


jmumsl 






set bit 3 in kstate 








■ 0D 




- 


IB 


> 


018A 20 3F 




bra 


sortc 






none of the above. 








0B 




BS 


1C 


CR 


































• TOGGLE FLAGS ACCORDING TO KEYS 










* ID 




CTRL 


IE 


A 




* SHIFT 


, ALT, 


CTRL SET 


AND 


RELEASE 










' IF 




S 


20 


D 




• NUHS 


LOCK, CAP LOCKS. 














' 21 




F 


22 


G 






















■ 23 




H 


24 


J 


018C 14 10 


mstrls 


bset 


2, testate 














' 25 




K 


26 


L 


018E 20 1C 




bra 


readm2 














» 27 






28 




0190 10 10 


mshift 


bset 


0, testate 














->o 




- 






0192 20 18 
0194 02 10 04 


mcapsl 


bra 
brset 


readni2 
1, testate 


/fnca 


plo 










• 2A 




SFT <L> 


3A 


CAPS LK 


0197 12 10 




bset 


1, testate 












* 2B 




\ 


38 


Fl 


0199 20 11 




bra 


readni2 














* 2C 




Z 


3C 


F2 


019B 13 10 


mcaplo 


bclr 


1, testate 














* 20 




X 


3D 


F3 


019D 20 0D 




bra 


readn2 














* 2E 




C 


3B 


F4 


019F 18 10 


maltss 


bset 


4, testate 














* 2F 




V 


3F 


F5 


01A1 20 09 




bra 


readm2 














* 30 




B 


40 


F6 

F7 


01A3 06 10 04 


RVMlnal 


brset 


3, testate 


rtmumlo 










* 31 




N 


41 


01A6 16 10 




bset 


3. testate 














* 32 




M 


42 


F8 


01A8 20 02 

01AA 17 10 

>01AC OC 0151 


MAunlo 
readm2 


bra 
bclr 


readm2 
3, testate 
readnl 






finish with data 






Telephone: (615) 842-4600 SOU tfl 'EdS t Media 

0S>9, 'Uni'JULX, '}L'LX,S'K''DOS 

SOJTWWJiX 

.'.'.' 'Jfease Specif ii yimr Operating System and 'J%k Size lit 



Te(e\': 5106W6630 



Sculptor 



Full OEM & Dealer Discounts Available! 



THE SCULPTOR SYSTEM 

^Kulpkv .-(iiilnn « IPhWiiU fciyrth Ljrn*TTpa>!>n laanqLLup 
w<fci m<il Mi<c>|l»—mM«g « iMTUi^iw w 

r* njpiviriy u»*nfl l*dlSan*4 Injwgp wth w 



mrpACKAGL 



T*l UliyWBJ" 



AW ESTABUSHED LEADER 




SYSTEM [INDEPENDENCE 

!feu^ilai *.*«AMn*\ nw*viMbiiml wwhamrritai 

tnnlqpnAnQivMmu rctudtaagMS (X% IW X*ru ml 

VMS TrM *mhm»iw hu ij tupfurtad >mb )*w «npi ban 

MtuI pnvvul <ornpukf r^ Avrwrf) iraA mht mi,n>ijp h 

poclwd to rww i^mmi. 
APPLICATION PORTABttJTY 

Mtjirinv i-i\ vtttwmtw krtHwwf' dUBtttrnf .m*" iwm«mi.«ont <V 

!xutptH'»rTU|ca«iSwTMgr« V-hJ. Jin il^vt*^ *(^M* »ft - s 
■ m 4 Vr*3 *kin* Pt" *H>1 imhr-nin *i»y *"f **!* ■ r ™ *■ ; If" 
ni 1h*m im Uprrjc mtjl Lrt*r m/^mwn Far 
* ifkti. mnwot tfm ( frmw tvulu ft tan >*w h i 



.T*i*i S'tJi** * 



■ppartMi 

hJHnAnd 



SPEED AND EFFICIENCY 

prwtiinin««ntr«aw^^dMillmfnnpn1(Hlv^il^Mri 
I-Wuiplo* i fourth MM M Bnn laraugt h cn*nplH to * 

rnrqiBrlinlrniwJ^rv|awhEh«viftniMlhiTq»fiHn* 



tNTERNATTONALLV ACCEPTED 






tptafaagiandlfPiiHii 
J pnaiarr fca «Ahii d 



li «lWX 1 «ra4 mavwt aOc wW fc H 






DATA DICTIONARY fNDF.XINC'. TKCHNJQlJr 

Ls'h Mi nttV haw trt at nvitM'tm) StUiptar rruirrbitan. * |i b«* rr*w* 

lypn dncnMd f wk-k tru*t "haw i iwhuUiMr F-V^jwh t -^ aid"* 

mn* hao.Mnu.^Tx war fca-maJ- #m. ngmtm.^ *a*rn*lMi doiiaii. 

alriaarai It rhtTmia rmaat. Itu.tina.ii faffed Ho on* o**-. htw 



u vyvwm 
Quaryfec** 

! S**. Lrl urttfcVLi JpFutfrarr* 



a 



1 VtiMat 



INPUT DATA VAUfiATJON 

Input d«hJ -mm br v-aUftsjd «i Am 



ikHriUbtl , is*" 

Facts 

■ ■■■■ 



Features 



RATA FILE STRUCTURf 
: s P«fc*d .u«j Irrtfti mvonfc 



Sculptor for 68020 
OS-9 & UniFLEX 

$995 




ARITHMETIC OPERATORS 



RQJiTTONAL OPERATORS 



Ur^riwiiia.^V, 

N ..i noai ■ ■ 

C'nnMinn- 



SPEClAi, FEATURES 

' ! Ful J*w *nthmrtr 
QptflpsMi 

! f<lf WTWhtY pi U M fl k I U ' 
tWi ,laflnpSalb*»lnai 



MAKlMAANhMlMMA 



Manamum record knglh Jb 

Mftjumum tturd Itn^h .l/7h? h 

Mafdrtim Mtk mft ramd WTh? 
nrH*»Mipa»Hr Ibmfl 
Ift 



GhMlnla 

□ AJmW9M0Kanddftfetk«M« 

□ * > <ni|l| H^ — ■ lliMW X Wll 

SCRE£W FORM U\CGU»G£ 



a 
□ 






rVUuM n poijlvnm 
fwq*'! rartdDnw 

Sjn«M»Va« dtwkv of (TXa^a 



sssac; 



■ hkprdml of OTVfSM) ^TM 



MUSTANG-020 Users - Ask For Your Special Discount! 



* Tandy CoCo III Special - Reg. $595 * Special $389 * 





* -• 


••• 




• 


• • 


••• 


MUSTANG-020 


$995 $199 


$595 


PC/XT/AT MSDOS 


$595 


$119 


$595 


OS/9 UniFLEX 6809 


a a 


to 


AT&T3B1 UNIX 


(> 


tl 


ti 


IBM Compatibles 


U (t 


«( 


SWTPC 68010 UniF 


$1595 


$319 


$797 


Tandy CoCo III 


Special $389.00 




SWTPC 68010 UNIX 


$1990 


$398 


$995 



... Sculptsr Will Run On Over 100 Other Types *f Machines 
... Call fsr Pricing ... 

!!! Please Specify Your Make of Computer and Operating System !!! 



Full Ikvctupemrnt Package 
Run lime (inly 
• C Kty Flic Library 



AoJbWItiL^iBli 
O - ns t, $ ■ SK'DOS 

r . flex, u . uunxx 

CCi . Otar Csrfutir OS-» 
CCT • Goto- o«n|«.Ur H.EX 



South 'East Media 

$900 Cassandra Smith %d - tflgon, Til 37343 
Tticpfumt: (615)842 -4600 <Ttle>G 5KKCO6610 




it 'rfcira 1 



•• Shipping •• 
M4 J* USA. («J«. BJt? 
Portlrn Sialic* A4d I* 
Fortlfn AVnuWI A44 1** 
Or CCU>. Shlmnc <Mj 



•(IS.1 k t T>id«ini> nf Mkrwin >■< Mnlnmh.'W.gX mti HiiH.[I .r. Tuejimrk. nf Tnhnlnl Symmi Qumjajn-'aK'DOS t» ■ Ti»4»— 1» of Ster-K Sulrwri Symm rjrp. 



'68* Micro Journal 



NovombBf "87 



29 



Telephone: (615) 842-4600 SOU tfl TrCtS t tMcdid 



'TcUk; 5106O066M) 



OS-9, tlni'JL'lX, 'JOEX, S'K'VOS 



DISASSEMBLERS 



SUPER SLEUTH from Compute* Systems Consultants Interactive 
Disassemble!; extremely POWERFUL! Disk File Binary/ASCII 
Examine/Changc. Absolute or FUI J. Disassembly. XREF 
Generator. Label "Name Changer", and Files of "Sundaid Label 
Names" for different Operating Systems. 

Color Carpultr SS-50 Bus (all tW A L Source) 

CCO (32K Read) Obj. Only S49DO 

F, S, S99.00 . CCF. Obj. Only SS0.00 U. SIOOM 

CCF. wlSourct S99.00 0. 1101.00 

CCO. Obj. Only SSODO 

OS9 68K Obj. SIOOM wtSource $20000 
DY!S"AMITE+ - Excellent standard 'Batch Mode" Disassembler. 

Includes XREF Generator and "Slendaid Label" File*. Special OS -9 
options w/ OS-9 Version. 

CCF . Obj. Only S100.00 CCO. Obj. S 59.95 

F.S, m " SI00.00 ■ 0. object only S150O0 

U. " ~ S300DO 

PROGRAMMING LANGUAGES 

PL/9 from Wuidrush Micro Systems — By Graham Trou. A combination 
Editor Compiler Debugger. Direct source -to-object compilation 
deliveiing fast, compact, re-entrant, ROM-able. PIC. 8 A 16-bit 
Integers A 6-digit Real numbers for all real-world problems. Direct 
control over ALL System resources, including interrupts. 
Comprehensive libraty support; simple Midline Code interface, 
step-by -step Usees for instant debugging. SOO* page Manual with 
tutorial guide. 

F, S. CCF ■ 119800 
PASC from S.E. Media ■ A FLEX9. SK'DOS Compiler with a definite 
Pascal "flavor". Anyone with a bit of Pascal experience should be 
abk to begin using PASC to good effect in short order. The PASC 
package comes complete with three sample programs: ED (a syntax 
or structure editor), EDITOR (a simple, public domain, screen 
editor) and CHESS (a simple chess program). The PASC package 
come complete with source (whiten in PASC) and documentation. 

FLEX. SK'DOS S9SM 
WHIMSICAL from S.E. MEDIA Now supports Real Numbers 
"Structured Programming" WITHOUT losing the Speed and 
Contra! of Assembly Language) Single-pass Compiler features 
unified, user-defined I/O, produces ROMable Code; Procedures and 
Modules (including pre-*ompiled Modules); many "Types" up to 32 
bit Integers, 6 digit Real Numbers, unlimited sized Arrays (vectors 
only); Interrupt handling; long Variable Names; Vnitblc 
Initialization: Include directive; Conditional compiling; direct Code 
insertion; •onirol of the Stack Pointer etc. Run-lime subroutines 
inserted as called during compilation. Normally produces 10% less 
codt than PU9. 

F.S and CCF SI 95. 00 



KANSAS CITY BASIC from S.E. Media - Basic for Color Computer 
OS-9 with many new commands and sub- functions added. A full 
implementation of the IF-TIILN-ELSE logic is included, allowing 
nesting to 255 levels. Strings are supported and a subset of the 
usual suing functions sueh as LEF1V RIGHTS. MIDS. STRINGS, 
etc ire included. Variables are dynamically allocated. Also 
included arc additional features such as Peek and Poke. A must for 
any Color Computer user running OS-9. 
CoCo OS-9 S39 9S 

C Compiler from Windrush Micro Systems by James McCosh. Full C 
for FLEX, SK'DOS except bit-fields, including an Assembler. 
Requires the ISC Rtloeating Assembler if user desiies to implement 
his own Libraries. 

F.S and CCF - S295.00 

C Compiler from Introl - Full C except Doubles and Bit Fields, 

streamlined for the 6809. Reliable Compiler: FAST, efficient Code. 
More UNIX Compatible than mo«t_ 

FLEX, SK'DOS. CCF. OS-9 (Level II ONLY), U . SS75.00 

PASCAL Compiler from Lucldata - ISO Based P Code Compiler. 
Designed especially for Microcomputer Systems. Allows linkage to 
Assembler Code for maximum flexibility. 

F. S and CCF 5~ ■ S19000 F. S »"■ 005.00 

PASCAL Compiler from OntegaSofl (now Certified Software) - For 
the PROFESSIONAL: ISO Based, Native Code Compiler. Primarily 
for Real-Time and Process Control applications. Powerful; 
Hexible. Requires a "Motorola Compatible" Relo. Asmb. and 
Linking Loader. 

F. S and CCF - S425.00 -One Year Maw i 100. 00 
OS-9 69000 Version . S9O0JOO 

KBAS1C • from S.E. MEDIA - A "Native Code" BASIC Compiler 
which is now Fully TSCXB ASIC compatible. Thecompilcr 
compiles to Assembly Language Source Code. A NEW, 
nrraml incd. Assembler is now included allowing the assembly of 
LARGE Compiled K-BASIC Programs. Conditional assembly 
reduces Run-lime package. 

FLEX . SK'DOS. CCF, OS-9 Compiler /Assembler S99J00 

CRUNCH COBOL from S.E. MEDIA - Supports large subset of ANSII 
Level 1 COBOL with many of the useful Level 2 features. Full 
FLEX, SK'DOS File Structures, including Random Files and the 
ability to process Keyed Files. Segment and link laige programs at 
runtime, or implemented as a set of overlays. The System requires 
56K and CAN be run with a single Disk System. A very popular 
product. 

FLFX. SK'DOS, CCF ■ S99.9S 

FORTH from Stearns Electronic! - A CoCo FORTH Programming 
Language. Tailored to the CoCol Supplied on Tape, transferable to 
disk. Written in FAST Ml- Many CoCo functions (Graphics, 
Sound, etc.). Includes an Editor, Trace, etc. Provides CPU Carry 
Flag accessibility. Fast Task Multiplexing, Clean Interrupt 
Handling, etc for the "Pro". Excellent "Learning" tool) 
Color Computer ONLY . IS* 95 



AnUaailHSLttmai 
O.OS.t, J. JX-DOS 

r.nttii.tMrut 
cca.rjur ci i a r oat 

rrj.o*rim)uu.rui 

•OS.* u • Tra annara eT M ten 




South 'East Media 

SXO CassanJm Smilk KA ■ 9Gsjon, T». 37S4S 




•• Shipping •• 

AM 1* UAA. I'mln. ItSt) 
FoorttH SWtkca A 44 i% 
Fantza Alrall tuln 
or cojxs>(rrfc«oWj 



» and Molcf b. *H H*nri I nIM VX tti Trai f marfcuf TwhHkalSymmi ConiUunn-'-iKTHis inTnSmaili af Star.K S*tt— n Syn«nii 1 5g p. 



30 



November '87 



'66' Micro Journal 



Telephone: (615) 842 -4600 SOU tfl TLOS t <Mt (flu 



'Telex 5106006630 



OS-9, •Uni'JL'EX, 'JL'EX, S'K'DOS 



FORTH BUILDER is a stand-alone Urge! compiler (crosscompiler) for 
producing custom Forth systems and application programs. 
All of the 83-standaid defining words and control structures arc 
recognized by FORTHBUILDER. 

FORTHRUILDER is designed 10 behave as much as possible like 
a resident Forth inteiptctcr/ccmpiler, so that most of the 
established techniques for wr ting Foith code can be used without 
change. 

Like compilers for other languages, FORTHB UIIDER can operate 
in "batch mode". 

The compiler recognizes and emulates target names defined by 
CONSTANT or VARIABLE and is readily extended with 
"com pile-lime' definitions to emulate specific target words. 
FORTH BUILDER if supplied as an executable command file 
configured for a specific host system and target processor. Object 
code produced fiorn the accompanying model source code is 
royalty-free to licensed users. 
F, CCF. S - $99.95 

DATABASE ACCOUNTING 

XDMS from Westchester Applied Business Systems 
FOR 6809 FLEX-SK»DOS(5/8") 

Up to 32 groups/fields per record! Up to 12 character filed name! Up to 
1024 byte records! User defined screen and print control! Process 
files! Form files! Conditional execution! Process chaining) Upward/ 
Downward file linking! File join ingl Random file virtual paging! 
Built in utilhicsl Built in text line editor I Fully session oriented! 
Enhanced foimsl Boldface, Double width. Italics and Underline 
supported) Written in compact structured assemblerl Integrated for 
FAST exccutionl 
XDMS-IV Data Management System 

XDMS-IV is a brand new approach to data management. It not only 

permits users to describe, enter and retrieve data, but also to process 
entire files producing customized reports, acrccn displays and file 
output Processing can consist of any of a set of standard high level 
functions including record and field selection, sorting and 
aggregation, lookups in olher files, special processing of record 
subsets, custom report formatting, totaling and subtoialing, and 
presentation of up to three related files as a "database" oil user 
defined output reports. 
POWERFUL COMMANDSI 

XDMS-IV combines the functionality of many popular DBMS software 
systems with a new easy to use command set into a single integrated 
package. We've included many new features and commands 
including a set of general file utilities. The processing commands 
are Inpul-Process-Ojtput (IPO) oricrue which allows almost instant 
implementation of a process design. 



SESSION ORIENTED! 

XDMS-IV is session oriented. Enter "XDMS" and you are in instant 
command of all the features. No more wailing for a command to 
load in from diskl Many commands are immediate, such as 
CREATE (file definition). UPDATE (file editor). PURGE and 
DELETE (utilities). Others are process commands which arc used to 
create a user process which is executed with a RUN command. 
Either may be entered into a "process" file which is executed by an 
EXECUTE statement Processes may execute other processes, or 
themselves, either conditionally or unconditionally. Menus and 
screen prompts are easily coded, and entire user applications can be 
run without ever leaving XDMS-IV 

ITS EASY TO USE! 

XDMS-IV keeps data management simplel Rattier than design a complex 
DBMS which hides Ihe true nature of the data, we kept XDMS-IV 
file oriented. Ihe user view of data lelalionships U presented in 
reports and screen output, while the actual data resides in easy to 
maintain files. Tliis aspect peimits customized presentation and 
reports without complex redefinition of the database files and 
stiuctuie. XDMS-IV may be used fora wide range of applications 
from simple rccoid management systems (addresses, invcnloiy ...) 
to integrated database systems (order cntiy, accounting...) 

Ihe possibilities are unlimited... 
FOR 6809 FL£X.SK»DOS(5/8") $249.95 



ASSEMBLERS 

ASTRUK09 from S.E. Media - A "Structured Assembler for the 6809" 
which requires the TSC Macro Assembler. 
F.S. CCF- $99.95 
Macro Assembler for TSC -- The FLEX. SK'DOS STANDARD 
Assembler. 

Sptciai- CCF $15.00; F.S $50 DO 
OSM Extended 6809 Macro Assembler from Lloyd I/O. - Provides local 
labels. Motorola S-records, and Intel Hex records: XREF. 
Genebrate OS-9 Memory modules under FLEX, SK'DOS. 
FLEX. SK'DOS, CCF. OS-9 199.00 
Relocating Assembler/Linking Loader from ISC. - Use with many of 
the C and Pascal Compilers. 
F, S. CCF $150,00 
MACE, by Graham Troll from Windnish Micro Systems - Co-Resident 
Editor and Assembler, fast interactive A.L. Progiamming for small 
to medium-sized Piogtams. 
F, S, CCF ■ $75.00 
XMACE ~ MACEw/Cross Assembler for 6800/1/2/3/8 
F. S, CCF . $98.00 



AtUUblltljUttnib 
0.OS.«,S.5K.'DO5 
K ■ FLEX, U ■ UnlFl-EX 
CCS • Color Computer OS? 
CCF . Color Core pour FtEX 



South 'Last Mtdia 

5900 CassandraSmiik %£. - OVvQim. Tn. 37343 




•• Shipping •• 

Add2«USA.( ln.Sl.sa) 
forties Su/faci Add 5% 
Forriin Alritall Add l»% 

Or co.d. Snipping Only 



*OS,» In Tra dnrnrfc of M krwi rr and Motorola- 'KL E X and tin IKLKX ar< Tradrmirki <if Tnhnkil Sytttma ComuHanu-»SK* DPI l« a Tradei™ rk of Sli r. K Snftwi ri S j* riri 1 1 1 .r p. 



'68* Micro Journal 



November 37 



31 



'Telephone: (615) S42 -46W SOU t/t TLCIS t 9^fedia 



TdeK; 51Q60066SQ 



OS-9, llm'JL-LX, >) L'LX, S'K'-DOS 



UTILITIES 

B«sir09 XRef from S.E. Media - This Rtiic09 Cross Reference Utility 
is I Baiic09 Program which will produce a "pretty printed" listing 
with each line numbered, followed by a complete cross referenced 
lilting of all variablei, external procedures, and line nun ben called. 
Also includes a Program list Utility which outputs a fast "pretty 
printed" listing with line numbers. Requires Baiic09 or RunB. 
A CCO obj. only - S39.9S; wl Source - $79.95 

BTrec Routines • Complete set of routines to allow simple 

implementation of keyed files -for your program - running under 
Basic09. A real time saver and should be a pari of eveiy serious 
programmers tool-box. 

a\ CCO obj. only - JS9.93 

Lucid*!* PASCAL UTILITIES (Requires Pascal ver 3) 

XREF - produce a Cioss Reference Listing of any text; oriented to 
Pascal Source. 

INCLUDE - Include other Files in a Source Text, including Binary - 
untimitad nesting. 

PROFILER --provides an Indented, Numbered, "Structognm" of a 
Pascal Source Text File; view the overall structure of large 
programs, program integrity, etc. Supplied in Pascal Source Code,' 
requires compilation. 

F,S,CCF—EACH 5" . U0 DO. B~ ■ ISO DO 

DUB from S.B. Media - A UnlFLEX BASIC dceaopller Re Create a 
Source Listing from UniFLEX Compiled basic Programs. Woiks 
wl ALL Versions of 6809 UniFLEX basic. 
U. SI 19.95 

LOW COST PROGRAM KIT'S from Southeast Media The following 
kits are available for FLEX . SK'DOS on either S" or 8" Disk. 

1. BASIC TOOL-CHEST $29.95 
BU5TER.CMD: pretty painter 
LDNEXREF.BAS: line cross-rcferenccr 
REMPAC.BAS. SPCPACBAS. COMPAC.BAS: 
remove superfluous code 

STRIP.BAS: superfluous line-numbers (tripper 

2. FLEX, SK'DOS UTILITIES KIT $39.99 
CATS. CMD: alphabetically-sorted ditectoiy listing 
CATD.CMD: dale-sorted directoiy listing 
COPYSORT.CMD: Tile copy, alphabetically 
COPYDATE CMD: file copy, by date-oider 
FD.EDAT6.CMD: change Tile creation date 

INFO.CMD (* INFOGMX.CMD): tells disk attributes icantoiu 

RELINKCMD (A REUNK82): reoiders fragmcnicd free 

chain 

RESQ.CMD: undeletes (recovers) a deleud file 

SECTORS.CMD-. show sector order in free chain 

Xl-CMD: super leu liner 



3. ASSEMBLERS/DISASSEMBLERS UTILITIES 

$39.95 
UNEFEED.CMD: 'modularise' disassembler output 
MAT1I.CMD: decimal, hex, binaiy, octal conversions 
& tables 
SKIP.CMD: column stripper 

4. WORD • PROCESSOR SUPPORT UTILITIES 

$49.95 
FULLSTOP.CMD: checks for capitalisation 
BSTYCIT.BAS (.BAC): Stylo to dot-matrix printerr 
NECPRINT.CMD: Stylo to dot-matrix printer filter code 

5. UTILITIES FOR INDEXING $49.95 
MENU.BAS: selects tequiied program from list below 
INDEX. BAC: word index 

PHRASES. BAC- phrase index 

CONTENT.BAC: table of contents 

DNDXSORT.B AC: fast alphabetic sort retain e 

FORM AT ER. BAC: produces a 2-oolumn formatted index 

APPEND.BAC: append any number of files 

CHAR, BIN: line ruder 

BASIC09 TOOLS consist of 21 subroutine* forBasictH. 
6 were wtiuen in C language and the remainder in assembly. 
AD the routines are compiled dawn to native machine code which 
makes them fan and compact. 

1. CFILL - Fills a string with duusaen 

2. DPEEK - Double peek 
3.DPOKE -Double poke 

4. FPOS — Current file position 

5. FSIZE - File sire 

6. FrRIM -removes leading spaces from a suing 

7. GETPR - returns the current process TO 

8. GETOPT - gets 32 byte option section 

9. GETUSR -- gets the user ID 

1 0. GTIM E - gels the t ime 

1 1. INSERT - insert a suing into another 

12. LOWER -■converts a siring into lowercase 

13. READY - Checks for available input 

14. SETPRIOR - changes a process priorily 

15. SETUSR - changes the user ID 

1 6. SETOPT - set 32 byte option packet 

17. STIME - sett the lime 

18. SPACE - adds spaces, to a string 

19. SWAP - swaps any two variables 
2a SYSCALL - system call 

21. UPPER - converts a suing to uppercase 

For OS-9 - $44.95 - Includes Source Code 

Sec Review in January 1987 issue of 68 Micro Journal 



O . OS.1. f . 5K-UOI 
r«ll.H,U>Uatll.EI 
CC* . CMsr Onpiiur O* » 




South "East Media 

5900 Cassandra. Strath "XJ. - tfuyon. Til 37343 




•• Shipping •• 
Add 1» USA. unlo. U.K) 

Forties SurfWM A<M S% 

Fom*» AUnit Add to* 
Or CO jy Shlpplsa Only 



**W-S It ■ 1 1 »dr*n*rh nfMlcmn 



«.nl MiJunli-'UKX in<li;TilH.g)IjriTriiifiimtiiirT«hrilnlSpKTnr<'eilllilHnU-'.Sr{*rw)SlnTridiii»rlirfSur.KS»rl»»r. S j * mi I 'ncp 



32 



November's? 



'68' Micro Journal 



TtUpfumt: (6i5) m -4601) South ILas t fMedia 



( re(e\: 5106006630 



OS-9, Uni'JL-EX, <} LLX, S'K'DOS 



SOFTOOLS 

The following piogmmi arc included in object form for immediate 
application. PL/9 source code available for customization. 

READ-ME Complete instructions for initial «et-up and operation. Can 

even be printed out with the included text pronator. 
CONFIG one lime lyitem configuration. 

CHANGE change* wordi, character), etc. globally to any text type file. 
CLEANTXT convert! tut lilet to standard FLEX, SK'DOS filer. 
COMMON compare two text lilei and report* difference*. 
COMPARE another check Tie that report* mis-matched lines. 
CONCAT similar to FLEX, SK'DOS append but can also list file* to 

screen. 
DOCUMENT for PL/9 source file*. Very useful in examining parameter 

passing aspects of procedures. 
ECHO echo* to either screen or file. 
FIND an improve fhtd commiiiid with "pattern" matching and wildcards. 

Very useful. 
HEX dumps Hie* in both hex and ASCII. 
INCLUDE a file copy program that will accept "includes" of other disk 

filet. 
KWIC allows routing each word, on each line to the beginning. Very 

useful in a son program, etc. 
LISTDIR a dintcUDry listing program. Not super, but better than CAT. 
MEMSORT a high-spaed text file toner. Up to 10 fields may be tonad. 

Very fid. Very useful 
MULT1COL width of page, number of columns may be specified. A 

musti 

PAGE similar to LIST but allow* for a page header, page widlh and 

depth. Adjust for CRT screen or printer a* set up by CONFIG. A 

very tman print diiver. Allows printer control commands. 
REMOVEa fan file deleter. Careful, no prompts issued. Zap, and its 

gonel 
SCREEN a screen listing utility. Word wraps text to lit screen. S u e ci i 

depth may be alteied at run lime. 
SORT a super version of MEMSORT. AscendingMcscending order, up 

to 10 keys, case over-r de, son on nlh word and ton on characters if 

lile is small enough, torts in RAM. If large file, son is constrained 

to size of your largest disk capacity. 
TPROC a small but nice text fonnatler. This is a complete formatter and 

has functions not found in other formatters. 
TRANSL1T sons a Tile by x keyficlds. Checks for duplications. Up to 

10 key files may be used. 
UNROTATE used with KWIC this program reads an input file and 

unfolds it a line at a time. If the file has been sorted each woid will 

be pretenlad in sequence. 
WC a word count utility. Can count words, characters or lines. 

NOTE: this set at utilities consists of 6 5-1/4" disks or 2 8" disks, w/ 
source (PL9). 3 5-1/4" disks or 1 8" disk w/o source. 
Complete Ml SPECIAL INTRO PRICE: 
5-1/4- w/source FLEX -SK'DOS -5129.95 
w/o source - $79.95 
8" w/source -S79.9S - w/b source $49.95 



ITJLL SCREEN FORMS DISPLAY from Computer Systems 

Coruulunt* -• ISC Extended BASIC program supports any Serial 
Terminal with Cursor Control or Memory-Mapped Video Displays; 
substantially extends the capabilities of the Program Designer by 
providing a lable-driven method of describing and using Full Screen 
Displays. 

F. S and CCF. V S25 DO. wt Source - S50.00 

SOLVE from S.E. Media - OS-9 Levels I and II only. A Symbolic 
Object/Logic Verification & Examine debugger. Including inline 
debugging, disassemble and assemble. SOLVE IS THE MOST 
COMPLETE DEBUGGER we have seen for the £809 OS-9 series) 
SOLVE does it alll Willi a rich selection of monitor, assembler, 
disassembler, environmental, execution and other miscellaneous 
commands, SOLVE it the MOST POWERFUL tool-kit item you 
can own! Yet, SOLVE is simple to utel With complete 
documentation, a snap! Eveiyone who has ordered litis package has 
raved! See review - 68 Micro Journal - December 1985. No blind' 
debugging here, full screen displays, rich and complete in 
information presented. Since review in 68 Micro Journal, this is our 
fastest moverl 

levels I All only OS-9 S69.9S 



DISK UTILITIES 

OS-9 VDisk from S.E. Media - For Level I only. Use the Extended 
Memory capability of your SWTPC or Gimix CPU card (or similar 
formal DAT) for FAST Program Compiles, CMD execution, high 
spaed inter-process communications (without pipe buffers), etc • 
SAVE thai System Memory. Virtual Disk rise is variable in 4K 
incrcOmcnts up to 960K. Some Assembly Required. 
Uvell OS-9 obj. S79 95; wi Source S149.95 

O-F from S.E. Media - Wr lien in BASIC09 (with Source), includes: 
REFORMAT, a BASICD9 Program that reformats a chosen amount 
of an OS-9 disk to FLEX. SK'DOS Format so it can be used 
normally by FLEX, SK'DOS: and FLEX, a BASIC09 Program that 
does Ihe actual read or write function to the special O-F Transfer 
Disk: user-friendly menu driven. Read tlie FLEX, SK'DOS 
Directory, Delete FLEX. SK'DOS Files, Copy both directions, etc. 
FLEX, SK'DOS users use Ihe specitl disk just like any other FLEX, 
SK'DOS disk 

0- 6809/68000 T>9.9i 

LSORT from S.E. Media - A SORT/MERGE package for OS-9 (Level I 
& II only). Sons records with fixed lengths or variable lengths. 
Allows for either ascending or descending son. Soiling can be done 
in cither ASCII sequence or alternate collating sequence. Right, left 
or no justification of data field* available. 1.SO RT includes a full 
set of comments and errors messages. 
OS-9 S8S00 



A nib blllt? Liftaai 
O • Of.*, S . SK.-DOJ 

F.f\xx.u<vi>rnxi 

CCtj . CMor ( oniuUr 0*-» 
txy • CMot Castpalar rut* 




South "Last Media 

$900 Cassandra Smith IrU - M*on, In. 37343 



" Ship 

Kit 2% U£A.<mtn. tX.S*> 

ronlfa au/Taca KM 5* 
Fmlo <UmD Ate !«% 
Or OO.D. ShlpplM Oatr 



«Oa-»haTraaaMar*«fMttro»artiri<< M morel.. -H .EX »inl tWMX sri Trtarmirln jf TWhrikilSyUmi |-j»n»H»nn.'£H,«IMW luTrnUma^aTSUr-K Sofnurt SmraiiOrp, 



'68' Micro Journal 



November o7 



33 



Telephone: (6l5)S42-46O0 Sotitfl ILOSt fMedia 



Telac: 5106006630 



OS 9, Vni'JL'EX, 'JL'LX, S'K*1>0S 



HIER from S.E. Media - IIIER is a modern hierarcnal storage system for 
users under FLEX., SK'DOS. It answer* Ihe need* of those who 
have hard disk capabilities on their systems, or many files on one 
disk -any size. Using HIER a regular (anj) FLEX, SK'DOS 
disk (8 • 5 • bard disk) can have sub directories. By ibis method 
ihe problems of assigning unique names to files is less burdensome. 
Different files with the exact same name may be on ihe same disk, 
as long as ihey are in differmi directories. For ihe wincheae r user 
this becomes a muii. Sub-directories are the modem day solution 
that all current large systems use. Each directory looks to FLEX, 
SK'DOS like a regular file, except they have the extension 
'.DIR 1 . A full set of directory handling programs are included, 
malting the operation of fflER simple and straightforward A 
special install package is included to install IIIER to your particular 
version of FLEX, SK'DOS. Sane assembly required. Instill 
indicates each byte or reference change fleaded- Typically - 6 byte 
changes in source (furnished) and one assembly of HIER is all that 
is required. No programming required! 
FLEX - SK'DOS 179.95 

COPYMULT from S.E. Media - Copy LARGE Disks to several 

smaller disks. FLEX, SK'DOS utilities allow ihe backup of ANY 
size disk 10 any SMALLER size diskettes (Hard Disk to floppies, 8" 
lo 5", etc) by simply inserting diskettes as icquesiad by 
COPYMULT. No fooling with directory deletions, etc. 
COPYMULT.CMD understands normal "copy* syntax and keeps up 
with files copied by maintaining directories for both host and 
receiving disk system. Also includes BACKUP.CMD lo download 
any size "random" type file; RESTORE.CMD lo restructure copied 
"random" files for copying, or recopying back to the host system; 
and FRGEUNK.CMD as a "bonus" utility that "relinks" the free 
chain of floppy or hard disk, eliminating fragmentation. 

Completely documented Assembly Language Source files included. 
AIL 4 Programs (FLEX. SK'DOS. <" or 5 ") S99.S0 

COPYCAT from Lucidaia - Postal NOT required. Allows reading 

TSC Mmi-FLEX. SK'DOS, SSB DOS68. and Digital Research CP/ 
M Disks white operating under SK'DOS , FLEXl.O. FLEX 2.O. or 
FLEX 9.0 with 6800 or 6809 Systems. COPYCAT will no 
perform miracles, but, between the program and the manual, yon 
(land a good chance of accomplishing a transfer. Also includes 
some Utilities lo help out. Programs supplied in Modular Sou roe 
Code (Assembly Language) lo help solve unusual problems. 
F, SandCCFf-lSODO F.S 8 m -S6SM 

VIRTUAL TERMINAL from S.E. Media - Allows one terminal lo do 
Ihe work of several. Hie user may start as many as eight task on one 
terminal, under VIR1UAL TERMINAL and switch back and forth 
between task al will. No need lo exit each one; just jump back and 
forth. Complete with configuration program. Ihe best way lo keep 
up with those background programs. 
O&CCO -obi. only- S49.95 



FLEX, SK'DOS DISK UTILITIES from Computer Systems 

Consultants -- Eight (8) different Assembly language (w/ Source 
Code) FLEX, SK'DOS Utilities for every FLEX. SK'DOS Users 
Toolbox: Copy a File with CRC Errors; Test Disk for errors: 
Compare two Disks; a fast Disk Backup Program; Edit Disk 
Sectors; Linearize Free Chain on the Disk; piini Disk Identification: 
and Son and Replace Ihe Disk Directory On sotted order). - PLUS 
— Ten XBASIC Programs including: A BASIC Resequencer with 
EXIRAs over "RENUM" like check for missing label definitions, 
processes Disk to Disk instead of in Memory, etc. Other programs 
Compare, Merge, or Generate Updates between two BASIC 
Programs, check I1ASIC Sequence Numbers, compare two 
iai sequenced files, and S Programs for establishing a Master 
Directory of several Disks, and sorting, selecting, updating, and 
printing paginated listings of these files. A BASIC Cross-Reference 
Piogratn. written in Assembly Language, which provides an X-Ref 
Listing of the Variables and Reserved Words in TSC BASIC, 
XBASIC, and PRECOMPILER BASIC Programs. 

AIL Utilities inelude Sourcei (either BASIC or AL. Source Code). 
F.SandCCF S50.00 
BASIC Utilities ONLY for UniFLEX - S30D0 

COMMUNICATIONS 



CMODEM Telecommunications Program from Computer Systems 

Consultants. Inc. — Menu-Driven; suppoils DumbTerm na] Moile, 
Upload and Download in non-protocol mode, and the CP/M 
"Modem7" Chiistensen protocol mode to enable communication 
capabilities for atmost any requirement. Written in "C". 

FLEX, SK'DOS. CCF. OS-9, UniFLEX, 69000 A 68Mh 
Source S 100. 00 - without Source ISO 00 

X-TALK from S.E. Media ■ X-TALK consists of Iwo disks and a special 
cable, the hookup enables a 6809 SWfTC computer to dump 
UruFLEX files directly to the UniFLEX MUSTANG-020. This is 
the ONLY currently available method to transfer SWTPC 6809 
UniFLEX riles lo a 68000 UniFIJEX system. Gimix 6809 users 
may dump a 6809 UniFLEX fde lo a 6809 UniFLEX five inch disk 
and it is readable by the MUSTANG-020. The cable is specially 
prepared with internal connections to match the non-standard 
SWIPC SO/9 I/O Db25 CCTtnecvon. A special SWITC S+ cable set 
is also available. Users should specify which SWITC system he/ 
she wishes to communicate with the MUSTANG-020. The X- 
TALK software is furnished on two disks. One eight inch disk 
contains S.E. Media modem program C-MODEM (6809) and the 
other disk is a MUSTANG-020 five inch disk with C-MODEM 
(68020)- Teal and binary files may be directly trarufeiied between 
ihe two systems. The C-MODEM piograms are unaltered and 
perform as excellent modem programs also. X-TALK can be 
purchased with or without the special cables, but this special price is 
available to registered MUSTANG-020 users only. 

X-TALK Complete (eable. 2 disks) S99.9S 

X-TALK Software (2 disks only) S69.95 

X-TALK with CMODEM Source S 149.95 



AnStaMUrrt 

■ OS*, J • SI-DOS 

r • tltx. u . imnrt 

CCS . Ckhr CaailMUr OS-S- 
CO' • Otm Favato FLEX 

•OS-* h a Tntanark of Mkimn 




South 'Last 'Media 

5900 Cassandm Smith :*;£ ■ yfugon, Tn. 3 7343 




" Shipping " 

A44 3« UiA-imln. sz.se) 
Fonts* s*/taa A«a 5* 
Fwitta Airmail AM l»* 
OrCO.tXSWBflniO.irr 



■ ml MM«»U. 1 WTtm< t:nll^EX«KTr«aViMrti^T»hiar.lSpt t iiiir«iiuli.nii.»SK«noShiiTraa»MfarfStir.KSon»»ri SjntnuCa;. 



34 



November '87 



'66' Micro Journal 



Telephone; (615) 842-4600 SoUtH TrOS t Media 



Telex; 5106006630 



OS 9, 'Uni'JC'LX, 'TL'LX, S'K*'DOS 



XDATA from S.E. Madia - A COMMUNICATION P»ck»ge for (he 
UniFLEX Operating Syncm. Uie with CP/M, Main Fnmct, other 
UniFl.EX Systems, etc. Verifies Truiminion uiing checksum or 
CRC; Re-Transmils bid blocks, etc 
U ■ 1299.99 

EDITORS & WORD PROCESSING 



JUST from S.Ii. Medu -• Text Form liter developed by Ron Anderson; 
for Dm Matrix Printers, provides many unique features. Output 
"Formatted" Text to the Display. Use the FPRtNT.CMD supplied 
for producing multiple copies of the "Formatted" Text on the Printer 
INCLUDING IMBEDDED PRINTER COMMANDS (very useful 
ai other limes also, and worth the price of the program by itself). 
"User Configurable" for adapting to other Printers (comes let up for 
Epson MX-80with Graft/ax); up to ten (10) imbedded "Printer 
CoruroJ Commands". Compensates for a "Double Widlh" printed 
line. Includes the normal line width, margin, indent, paragraph, 
space, vertical skip lines, page length, page numbering, centering, 
fill, justification, etc. Use with PAT or any other editor. 

* Now supplied as a two disk set: 

DirJk 01: JUS12.CMD object fde. 

JUS17TXT PL9 source FLEX. SK'DOS - CC 

Disk 02: JVSTSC object and source in C: 

FLEX, SK'DOS - OS9 ■ CC 

The JTSC and legular JUSTC source are two separate programs. JTSC 
compiles to a version that expects TSC Word Processor type 
commands, ( pp tp .ce etc.) Great for your older text files. The C 
source compiles to a standard syntax JUST.CMD object lile. Using 
JUST syntax (,p ,u .y etc.) With all JUST functions plus several 
additional printer formatting functions. Reference the JUS'ISC C 
source. For those wanting an excellent BUDGET PRICED word 
processor, with feature none of the others have, litis is ill 

Disk(l).PL9 FLEX only-F.S A CCF - 149.95 
Disk Set (2)F.SA CCF A OS9 (C version, ■ 169.95 
OS-9 6SK000 complete with Source - 179.95 

PAT from S.E. Madia - A full feature screen oriented TEXT EDITOR 
with all the best of "PIE™". For those who swore by and loved only 
PIE, ihis is for you! All PIE features and much more! Too many 
features to list. And if you don't like these, change or add your own. 
PI. -9 source furnished. "C" source available soon. Easily 
conliguicd to your CRT, with special con fig section. 
Regular FLEX. SK'DOS 1129.50 
• SPECIAL INTRODUCTION OFFER • 179.95 
SPECIAL PAT/JUST COMBO (^source) 
FLEX. SK*DOS 199.95 
OS-9 68K Version 1229.00 
SPECIAL PATIJUST COMBO 68K 124900 
Note: JUST in *C" source available for OS-9 



CEDRIC from S.E. Madia A screen oriented TEXT EDITOR with 
availability of 'MENU' aid. Macro definitions, configurable 
'permanent definable MACROS' - all standard features and the 
fastest 'global' functions in the west. A simple, automatic terminal 
eonfig program makes this a neal 'no hassel' pioduct. Only 6K in 
size, leaving the average system over 165 aeoon for text buffer - 
appx. 14,000 plus of fnx mcmoiyl Extra fine for programming as 
well as text. 

FLEX. SK'DOS 169.95 

BAS EDIT from S.E. Medu - A TSC BASIC or XBASIC screen editor. 
Appended to BASIC or XBASIC, BAS-EDIT u transparent to 
normal BAS1C/XBAS1C operation. Allows editing while in 
BAS1C/XBASIC, Support i the following functions: OVERLAY. 
INSERT and DUP LINE. Make editing BASIC/XBASIC programs 
SIMPLE) A GREAT time and effort saver. Programmers love ill 
NO more retyping entires lines, etc. Complete with over 23 
different CRT terminal configuration overlays. 
FLEX. CCF, SK'DOS 139.95 

SCREDITOR 111 from Windiush Micro Systems - Powetful Screen- 
Oriented liditorrWord Processor. Almost SO different commands; 
over 300 pages of Documentation wiih Tutorial. Features Multi- 
Column display and editing, "decimal align" columns (AND add 
them up automatically), multiple keystroke macros, even/odd page 
headers and foolers, imhedded piinler control codes, all 
justifications, help" support, (Tore common command series on 
disk, etc. Use supplied "set-ups", or remap the keyboard lo your 
needs. Except for propoitionil piinling, this package will DO IT 
A1XI 

6800 or 6809 FLEX. SK'DOS or SSB DOS, OS-9 . 1175.00 

SPELLI) "Computer Dictionaiy" from S.E. Medu - OVER 150,000 
words! look up a word from within your Editor or Word Processor 
(with the SPIICMD Utility which operates in the FLEX. SK'DOS 
UCS). Or check and update the Text after entry; ADD WORDS to 
the Dictionaiy, "Flag" questionable words in the Text. "View a word 
in context" before changing or ignoring, etc. SPELI J3 first checks a 
"Common Word Dictionaiy", then the ooimal Dictionaiy, then a 
"Personal Word List", and fmally, any "Special Word List" you may 
have specified. SPEI.LB alto allows the use of Small Disk Storage 
systems. 

F. S and CCF - 1129.95 

STVLO-CRAPH from Great Plains Computer Co. - A full-screen 

oriented WORD PROCESSOR •• (uses the 51 x 24 Display Screens 
on CoCo FLEX/SK'DOS, or PBJ Wordpak). Full screen display 
and ediiing; supporu the Daisy Wheel proportional printers. 
NEW PRICES 6809 CCF and CCO - 199.95. 
F.Sor - 1179.95. U ■ 1299.95 



AnlUMUl; Liput* 
O.os »,S.SK*DOJ 
F.FLET.U. ltaffV£X 
cca . Crter aa»»«/u» oS-» 
CCF. CtWCapaur nxx 




South "East Media 

S900 Cassandra Smith %j/L - JrVLa/cn, Tn. S7US 




" Shipping •• 

AU 1% USA. fada. SJJtl 

F—HfoGu/taa <M4S« 
Tonic, AlramB AM Ittk 
Or CX>JX SMrffcta Out? 



■OS-tltaTndfttwrk nit Mkrowftrt and M 'H "f«l*- *KI l!X *r»d UhtFl.EX »r» Tr»4rmarkf nT Ttrfc nk* t 



SymtrM r>imilUnl».'£K*POS la ■ Trtitmrnrk of Slar-K faltmrt Srntnw Cory. 



66" Micro Journal 



November '87 



35 



'Telephone: (6i5) $42 -4600 Sou th 'Eos t 'Media 



'Telex 5106006630 



OS-9, llni'JL'EX, <}ULX, S'K'VOS 



STYLO.SPE1X from Creal Phi > Compiler Co. - Fist Computer 
Didjanary. Compfcmcnii Stylogiaph. 

NEW PRICES 6809 CCF and CCO ■ $69.95. 

F.SorO- S99.9S. U • $149.95 
STYLO-MERGE from Greii Plains Compjur Co. - Merge Mailing 
Liu to "Form" Letter!, Piint multiple Files, etc., through Stylo. 

NEW PRICES 6809 CCF and CCO - $59.95. 

F. S or 0V9 95. U .$129.95 
SIYLO-PAK — Graph + Spell + Merge Package DealMI 

F.SorO. $329.95. U ■ $549.95 

0, 68000 $695.00 



MISCELLANEOUS 

TABULA RASA SPREADSHEET from Computer System! 

Cotisulta u - TABULA RASA is similar lo DESKTOP/PIAN; 
provides use of tabular compulation schemes used for analysis of 
business, sales, and economic conditions. Menu-driven: ext s'rvc 
report-gene ration capabilities. Requires TSCs Extended BASIC. 
F. S and CCF. U $5000. hV Source ■ $100 DO 

DYNACALC Electronic Spread Shees for the 6809 and 68000. 
F. S. 0S9 and SPECIAL CCF ■ $200 DO, U - $395.00 
0S.9 68K - $59500 

FULL SCREEN INVENTORY/MRP from Computer Systems 
Consults u - Use the Full Screen I vcnlory Syosn/Male rials 
Requirement Planning for maintaining inventoriei. Keeps item field 
file in alphabetical order for easier inquiry. Locale and/or print 
records matching partial or complete iicm, description, vendor, or 
attributes: find baekorder or below stock levels. Prini-ouu in item 
or vendor order. MRP capability for the maintenance and analysis 
of Hierarchical assemblies of items in the inventory file. Requires 
ISCs Extended BASIC. 

F. S and CCF. U ■ $50 DO. hV Source - $10000 

HILL SCREEN MAILING LIST from Computer Systems Consultants 
- The Full Screen Mailing List System provides a means of 
maintaining simple mailing lists. Locate all records matching on 
paiiial or complete name, city, slate, zip, or attributes for Listings or 
Labels, etc. Requires ISCs Extended BASIC. 

F . S and CCF, U ■ $50D0. w/ Source ■ $100 DO 

DIEr-TRAC Forecaster from S.E. Media - An XBASIC program I al 
plans a diet in terms of either calories and percentage of 
carbohydrates, piolebis and fats (C P G%) or grams of 
Carbohydrate. Protein and Fat food exchanges of each of the six 
bask food groups (vegetable, brad, meat, skim milk, fruit and fat) 
for a specific individual. Sex, Age, Height, Promt Weight, Frame 
Siae, Activity Level and Basal Metabolic Rase for normal individual 
are taken into account. Ideal weight and sustaining caloric* for any 
weight of the above individual are calculated. PtvriJes number of 
days and daily calendar after weight goal and caloric plan is 
determined. 

F.S $59.95. U. $89.95 



CROSS ASSEMBLERS 

TRUE CROSS ASSEMBLERS from Computer Systems Consultants - 
Supports 1802/5. Z-80. 6800/1/2/3/8/1 1/HC1 1.6804, 680S/IIC05/ 
146805. 6809/00AM . 5502 family. 8080/5. 8020/1/2/3 5/C35/39/40/ 
48/C48/49/C49/50/8748/49, 8031/5 1 /875 1 . and 68000 Systems. 
Assembler and Listing fonnais same as target CPU's formal. 
Produces machine independent Motorola S-TeXL 
68000 or 6809. FLEX. SK'DOS. CCF. 0S.9, UniFLEX 
any object or source each - $50.00 
any J object or source each - $100 DO 
Stt of ALL object $200 DO ■ wfsowce $500 DO 

XASM Crass Assemblers for FLEX. SK'DOS from S.E. MEDIA - 
This set of 6800/1/2/3/5/8. 6301, 6502, B080/5. and Z80 Cross 
Assemblers uses the familiar TSC Macro Assembler Command Line 
and Source Code format. Assembler options, etc.. in providing code 
for the target CPU's. 

Complete set, FLEX, SK'DOS only . $150D0 

CRASMB from LIOYD LO - Supporu Motorola's. Intel's. Zilog's. and 
other's CPU syntax for these 8-Bit microprocessors: 6800.6801, 
6303. 6804. 6805.6809.681 1 (all varieties): 6502, 1 802/5, 8048 
family. 8051 family. 8080/85 . Z8. Z80, and TMS-7O00 family. 
Has MACROS . Local Labels, Label X-REF. Label Length to 30 
Oars. Object code formats: Motorola S-RacDrds (text), Intel HEX- 
Records (text). OS9 (binary), and F1£X. SK'DOS (binary). 
Written in Assembler ... eg. Very FuL 

CPU TYPE - Price each: 



For: MOTOROLA 
FLEX9 $150 

SK'DOS $150 
OS9/6809 $150 

OS9A58K 

CRASMB 16.32 from LLOYD I/O 



INTEL 

$150 
$150 
$150 



OTHER COMPLETE SEr 

$150 $399 

$150 $399 

$150 $399 

$432 
• Supports Motorola's 68000, and 
has same features as the 8 bit version. OS9/68K Object code 
Formal allows t is cross assembler lo be used in developing your 
programs for OS9/68K on your OS9/6809 computer. 
FLEX, SK'DOS, CCF. OS-9/6809 $249.00 

GAMES 

RAPIER - 6809 Chess Program from S.E. Media - Requites FLEX, 
SK'DOS and Displays on A y Type Terminal. Features: Four 
levels of play. Swap side. Point scoring system. Two display 
boards. Change skill level. Solve Checkmate proMemi bt 1-2-3-4 
moves. Make move and swap sides. Play w iie or Mack. This Is 
one of tltt strongest CHESS programs running on any 
microcomputer, estimated USCF Rating 1600* (belter than mast 
'club' players al higher levels) 
F.S and CCF . $79. 95 



A»Mibllll*!t"<<li 
O. a*-*, f. SK'DOS 

r.nxx,rj.uatnxi 

CCS.CMot C— pulit OS » 
CCF . C*to» Gmmkm STIX 




South 'Last 'Media 

5900 Cassandra Smith 9jL ■ Xxkjor, Tn. ) ?}4) 




" Shipping •• 

Add 1% US.A. (lain. RJH 
<Wtt» fca-*m AddS* 

rimies AtrmR A<M 10% 
Or CO.D. Sblpftloc Onlj 



■OS-tlnTf drm*Pli nf tittwwn and M..t«.f<,b nt.EX inri I iff SKI. KX »r« Tr ■ d*m*r k < M I rchnlf tl Sj«U:™t:QimilUnilj.*SK*t>QS li nTndHMrlnfSlaf.lt Minfl SyHwi) Car I*. 



36 



November 87 



68' Micro Journal 



1 




3 




c 
■ 


B 



V ft. I 

a 3 s 

fl o o 

■t. : > • .: 



I 

i 






U In ho u U j< . 



iq liio 3c jtn p o «j u"i p o u m 3o*j^ p o ±j *r ^ q ?} 

I m 6, * e » EL* B* a* fi# E.^ c * EL* c * {L« o^ £ 

llllllllllJtllllllllilltllll 



3 



8 til 



ri « N 

5 *; .5 



X 1 

>-i a > 

m u « 
E » Ji 

8 >g 



ill 

*• 9-- 

41 0.TI 

£ 41 c 

1 1 t 

^ 4.J M 
O E £ 



h e < 2 h £ 

^ 4 r- A] O U 

<A n v> *] </> ft 

" i. « 1. « !:. 



3 8 j5 3 JS 



u -g 

-out 



ill 



I I 



QODDriHHHHi-tHftNft(M««NfVi f lP)(»l(nn 

wrstvrjrsirsicNrsjcNrsicNrsjrsirsjrsiiNfNcSirvr^csifNfsifs 



■SSB 

H <*» <*■ 
3 fM <si 

O o o 



fe°S 







h * p< m ti* h 
vo tu r- tu □ ti- 


a O 


u 

a 


H iO H (M T O 
< fM < CN M «N 


< Q 

CM cn 
o o 


o 

CM 
O 


m io r^ en pQ a 

m m *n ifl in m 

<\l fM <M CM *M CM 
O O O O O O 



n i*j < 

HO(3 



fa r-t » 

irt v v 

o o o 



K 


g 


0> 




■ 




T3 


* 






4' 


B 


4 
i 


nj 


01 


SS 








«g H 


£ 


G 


> 


H ft. ■ 






4? 


«l J< 


>. 




-^ 


i. c 


1 


1> 




U tl 


ji 




— < 


>1 — 


£ 






JS b« 




4J 


^3g 


*H 




E 


3 


1 


S 


^£S 



< -h |0 ^h c cbI n *fJ « 13 « TJ 

< — CQ jC ^ O CD « M *a >; 4 J£ ^ 



ilililiijiilj 







8 I 




6 

1 



*^HfMiHfn )+ w htn u 

(flr^ u it o co hm Uff mw u cn l < u^ Mvun 
*j**i ? a ifv poti^' 3oj4*t do*jT 3 o +> *r 
ritn-Um art G«» g« 0v> 3«» fii* aifl- Qw 3« 

■o * c — EL* c » 5.* c * a* c » EL* c*a* 

ifjaxhitiniinAlufi 



3 3 



ST ifl o Q CO 

S 1 ^ fH^-*Hr^i^vcfkOmo«HO 

5 co cpcflOJcocoSJcQfJUUOU 
ooooooocjoooooo 



^- m f^* 

r* r- j> 

m o o o 

t-* iH H i-t 

o o o 

S8S3 

p-H 1— I i-H r-* 

o o o o 



"w ^r t v ^* 

(*lf lO^-i^iWlTliiT'i-tCfi 1/1 ffi r-l Cfli/1 < ^H f- mtfHQ 
rHflOOCJ^OOOTOOOtPCaOOTOOOT 

\Di-l UHDUHUJUiyHKHii U h v m U H W I] H 
Ca<fN<U^CM<0<^i<O<CMi*O*<CM<D< 

oooooooooooooooooooooo 



68' Micro Journal 



November 'ST 



37 



8 



0266 D6 02EF 
026B 03 10 E2 
026E Al 41 
0270 25 DE 
0212 Al 5A 
0274 22 DA 
0276 AA 20 
0278 20 06 



027A 04 10 0D 



testis 



Ida 


■hlftt,x 


brclr 


l.kstate.msend 


CSfM 


• 541 


blo 


msend 


"F* 


#S5A 


bhi 


msend 


ora 


IS20 


bra 


msend 



send it if caps on 



* NUMBER LOCK. ON. 



numlkl brset 2,kstate ( nunctr 



027D 00 10 05 


brset 


0, kstate, numshi 


0260 D6 03AF 


Ida 


nv»nor,K 


0263 20 Cfl 


bra 


mtetpp 



now go check for caps Ik 



USE TABLE NUHBER TABLE NUM SHIFT 



0265 06 040F 

0266 20 El 



026A D6 046F 
026D 20 CI 



numshi Ida 
bra 



numstb, x 
test Is 



* USE TABLE CONTROL TABLE NUM SHIFT 



numct r Ida 
bra 



numrol, x 
msend 



* LOOK-UP TABLES 



3 
05 






028F 00 




0290 ia 




0294 34 




0296 36 




029C 3D 
029E FF 




02A2 72 




02A6 69 
02AA 50 




02AC FF 




02B0 66 
02B4 SB 




02B8 60 
02B9 FF 




02BD 63 
02C1 GD 




02C5 FF 




02C7 FF 




02CB 62 


1 


02CF 66 
02D3 BA 
02D7 01 
02DB 35 
02OF 02 


1 


02E3 FF 
02E7 FF 


3 




02EB IF 



31 32 33 
35 36 37 
39 30 2D 
06 

71 77 65 
74 79 75 
6F 70 5B 
00 

61 73 64 
67 66 6A 
€C 3B 27 

SC 7A 78 
76 62 6E 
2C 2E 2F 
2A 

20 FF 61 
63 64 65 
67 66 69 
FF DB 10 
0E 2D 04 
09 2B 03 
OF 19 IA 
FF FF FF 
FT FF FF 
FT FF FF 



• NORMAL »CD£ 
normal FCB 
FCC 



(LOWER CASE) 

SIB, ■1234567690-—, $08 



FCC $FT, ■qweityuioptl*. SOD 

FCC SFF, - asdfghjkl;",S6D 

FCC SFF,"\zxcvbnm. ./«. SFF,"«" 

FCB SFF, S20, SFF, $61. $62, $83, $64, $65 

FCB $66, $67, $66, $69, S8A.SFF, $DB, $10 

FCB $01, $0E, $2D, $04, $35, $09, $2B, $03 

FCB $02, $0F, $19, S1A, SFF, SFF, SFF, SFF 

FCB SFF. SFF, SFF, SFF, SFF, $FF, SFF, SFF 









* SHIFT 


MODE 


(UPPER CASE) 


02EF 00 






shiftt 


FCB 





02F0 IB 


21 


40 


23 


FCC 


SlB,-!MS»-t*()_+-,S06 


02F4 24 


25 


5E 


26 






02F8 2A 


26 


29 


SF 






02FC 2B 


06 










OSY FF 


51 


57 


45 


FCC 


SFF, ■WERTTUIOP ( ) -, SOD 


0302 52 


54 


59 


55 






0306 49 


4F 


50 


7B 






030A 7D 


0D 










030C FF 


41 


53 


44 


FCC 


SFF, "ASDFGHJKL:"-' 


0310 46 


47 


46 


4A 






0314 4B 


4C 


3A 


22 






0316 7E 












0319 FF 


7C 


5A 


56 


FCC 


StF, S7C. ■ZXCVBNMO?-, SFF, SOE 


031D 43 


56 


42 


4E 






0321 4D 


3C 


3E 


3F 






0325 FF 


DE 










0327 FF 


20 


FF 


SB 


FCB 


SFF. $20, SFF, S8B. S8C, $6D, $6E. $8F 


032B ec 


6D 


BE 


6F 






032F 90 


91 


92 


93 


FCB 


$90, S91, $92, $93, $94, SFF, SDC 


0333 94 


FF 


DC 








0336 37 


36 


39 


2D 


FCC 


■789-456*1230 . V SFF, SFF, SFF, SFF 


033A 34 


35 


36 


2B 






033E 31 


32 


33 


30 






0342 2E 


FF 


FF 


FF 






0346 FF 












0347 FF 


FF 


FF 


FF 


FCB 


SFF, SFF, SFF, SFF, SFF, SFF, SFF, SFF 


034B FF 


FT 


FF 


FF 












* CONTROL M3DE 


034F 00 






cootrl 


FCB 





0350 IB 


FF 


00 


FF 


FCB 


SIB, SFF, S00, SFF, SET, SFF, S1E, SFF 


0354 FF 


FF 


IE 


FF 






0356 FF 


FF 


FF 


IF 


FCB 


SFF, SFF, SFF, S1F, SIT, S7F, SFF, Sll 


035C FF 


7F 


FF 


11 






0360 17 


OS 


12 


14 


PCB 


S17,S05,S12,S14,S19,S15,$09,S0F 


0364 19 


15 


09 


OF 






0366 10 


IB 


ID 


0A 


FCB 


$10, SIB, SID, $0A, SFF, S01, $13, $04 


036C FF 


01 


13 


04 






0370 06 


07 


06 


0A 


FCB 


$06, $07, $06, $0A, SOB, SOC, SFF, SFF 


0374 0B 


OC 


FF 


FF 






0376 FF 


FF 


1C 


IA 


FCB 


SFF. SFF, SIC, S3 A, $18, $03, $16, $02 


037C 16 


03 


16 


02 






0360 0E 


0D 


FF 


FF 


FCB 


SOE, SOD, SFF, SFF, SFF, SFF, SDF, SFF 


0364 FF 


FF 


DF 


FF 






0366 20 


FF 


95 


96 


FCB 


520, SFF, S95, $96, S97, $96, S99, $9A 


038C 97 


96 


99 


9A 






0390 9B 


9C 


9D 


9E 


FCB 


S9B, $9C, S9D, S9E, SFF, SDD, SOC, SFF 


0394 FF 


DO 


OC 


FF 






0396 FF 


FF 


FF 


FF 


FCB 


SFF, SFF, SFF, SFF, SFF, SFF, $06, SFF 


039C FF 


FF 


06 


FF 






03A0 16 


FF 


FF 


FF 


FCB 


$16, SFF, SFF, SFF, SFF, SFF, SFF, SFF 


03A4 FF 


FF 


FF 


FF 






03A6 FF 


FF 


FF 


FF 


FCB 


SFF, SFF, SFF, SFF, SFF, SFF, SFF 



03AC FT FF FF 



s 



2 


03AF 


00 






numrtor 


FCB 


<T 


03B0 


IB 


31 


32 


33 


FCC 


5 


03B4 


34 


35 


36 


37 




3 


03BB 


3B 


39 


30 


2D 




03BC 


3D 


06 








a_ 


03BE 


FF 


71 


77 


65 


FCC 




03C2 


72 


74 


79 


75 






03C6 


69 


6F 


70 


5B 






03CA 


5D 


0D 










03CC 


ET 


61 


73 


64 


FCC 




03D0 


66 


67 


66 


6A 






03D4 


EB 


6C 


3B 


27 






03DB 


60 












03D9 


FF 


SC 


7A 


76 


FCC 




03DD 


63 


76 


62 


6E 






03E1 


an 


2C 


2E 


2F 






03E5 


ET 


2A 










03E7 


FF 


20 


FF 


61 


FCB 




03EB 


B2 


63 


64 


65 






03EF 


66 


67 


66 


69 


FCB 




03F3 


6A 


IT 


FC 


37 






03F7 


36 


39 


2D 


34 


FCB 




03FB 


35 


36 


2B 


31 






03ET 


32 


33 


30 


2E 


FCB 




0403 


IT 


IT 


FF 


FT 




2 
O 


0407 


FF 


IT 


FF 


FF 


FCB 


s 


040B 


FF 


FF 


FF 


FF 




3 






















• NUMBER LOCK 


CD 


040F 


00 






numstb 


PCS 




0410 


IB 


21 


40 


23 


FCC 




0414 


24 


25 


5E 


26 






041B 


2A 


26 


29 


5F 






041C 


2B 


06 










041E 


FF 


51 


57 


45 


FCC 




0422 


52 


54 


59 


55 






0426 


49 


4F 


50 


7B 






042A 


7D 


OD 










042C 


FF 


41 


53 


44 


FCC 




0430 


46 


47 


46 


4A 






0434 


48 


4C 


3A 


22 






043B 


7E 












0439 


FF 


7C 


5A 


56 


FCC 




043D 


43 


56 


42 


4E 






0441 


4D 


3C 


3E 


3F 






0445 


FF 


EE 










0447 


FF 


20 


FF 


6B 


FCB 




044B 


6C 


6D 


8E 


BF 






044F 


90 


91 


92 


93 


FCB 




0453 


94 


IT 


FB 








0456 


10 


01 


OE 


2D 


FCB 




045A 


04 


35 


09 


2B 






045E 


03 


02 


OF 


19 


FCB 




0462 


1A 


FF 


FF 


FF 






0466 


IT 


FF 


FT 


FF 


FCB 




046A 


IT 


FF 


FF 


FF 




a 


046E 


IT 











• NUMBER LOCK NORMAL K3DE (COVER CASE) 



SIB, •1234567690— ". $08 



SFF,'q*»rtyulopll*,$0D 

SET,'asd£gh3kl;",S60 

SFF, ■\zxcvbrw>, ./•,SFF,'«- 

SFF, $20. SFF, $61, $62, $63, $64, $65 
$86, $87, $86, $69, $6A, SFF, $FC, S37 
$38, $39, $20, $34, $35, $36, $2B, $31 
$32, $33, $30, $2E, SET, SFF, SFF, SFF 
SFF, SFF, SIT, SFF, SFF, SFF, SFF, SFF 



SHIFT WOE (UPPER CASE) 

SlB.-iMSl". •()_+». $08 



SET, •QWRTYUIOPI )•, SOD 

SFF, ■ASDFO^JKL:■-• 

SFF, S7C, •ZXCVBNWC >?•, SFF, SEE 

SFF, $20, SET, $8B, SBC, $8D, S6E, S8F 
$90, S91, $92, $93, $94, SFF, $FB 
$10, $01, SOE, $2D, $04, $35, $09, $2B 













• NUMBER LOCK 


TONTROL MODE 










046F 


00 








numrol 


FCB 













0470 


IB 


FF 


00 


FF 




FCB 


$1B, SET, $00, $FT, *FF, SFF, S1E 


SFF 








0474 


FF 


FF 


IE 


EF 
















0476 


FF 


FF 


FF 


IF 




FCB 


SFF, SFF, SET, S1F, SFF, $7F, SET 


$11 








047C 


FF 


7F 


FF 


11 
















0460 


17 


05 


12 


14 




FCB 


$17, 505, S12, S14, $19, $15, S09 


$0F 








0464 


19 


15 


09 


OF 
















0466 


10 


]B 


ID 


OA 




FCB 


$10, SIB, $10, $0A, SFF, $01, $13 


$04 








046C 


FF 


01 


13 


04 
















0490 


06 


07 


06 


OA 




FCB 


$06, S07, $08, SOA, SOB, SOC, SFF. 


SFF 








0494 


OB 


OC 


FF 


FF 
















0498 


FF 


FF 


1C 


1A 




FCB 


SET, SFF, SIC, $1A, $16, S03, $16, 


$02 








049C 


16 


03 


16 


02 
















04A0 


OE 


OD 


FF 


FF 




FCB 


SOE, SOD, SFF, SFF, SET, SFF, SFD 


SFF 








04A4 


FF 


FF 


FD 


FF 
















04AB 


20 


ET 


95 


96 




FCB 


$20, SFF, S95, S96, S97, $98, S99, 


$9A 








04AC 


97 


96 


99 


9A 
















04B0 


9B 


9C 


9D 


9E 




FCB 


$9B, S9C, $9D, $9E, SET, SFA, SOC, 


SFF 








04B4 


FF 


FA 


OC 


FF 
















04BB 


FF 


FF 


FF 


FF 




FCB 


SFF, SFF, SFF, SFF, SFF, SFF, $06, 


SFF 








04BC 


FF 


FF 


06 


FF 
















04C0 


16 


FF 


FF 


FF 




FCB 


SI 6, SFF, SET, SFF, SET, SFF, SFF, 


SFF 








04C4 


FF 


FF 


FF 


FT 
















04C8 


FF 


FF 


FF 


FF 




FCB 


SFF, SFF, SFF, SFF, SFF, SFF, SFF 










04CC 


FF 


FF 


FF 




« 
























* 

* MASK 


OPTION REG 




















• SET 


FOR XTAL 












0764 












org 


$0784 










0764 


07 








moa 


fcb 


«00000111 




















• INTERUPT VECTOR TABLE 










07F8 












ORG 


S07FB 










07FB 


0130 






TIHERV 


FOB 


time 










07FA 


0121 






EXT INT 


FDB 


9° 










07FC 


0100 






syssh: 


FOB 


reset 










07FE 


0100 






VRESET 


FOB 


reset 










EMXtfl OCRCTCD 








END 












ima nut 
























ccrlk 0144 
noiplfl 01M 
■^otnp 024 [> 
own) 0229 

maatu gas 
r*M> 014J 
i-.o™ OOl! 


Ctrl ob D2ST 
•wool OSM 

nour.l OUU 
«* 02 13 
nuonc 040T 
rmtami 0111 
tcr 0001 


tsmcv tin 
lid oou 

NCtrl* oiac 
itcun* Oln 

neurit) 0211 
o«to» 0!« 
nodtf OUC 

t*r 0006 


odrt 0004 
■etoUo 01AA 
neural Oin 

nonml GJtr 
out oiil 

nlcoo OUT 

COOtlB D2(| 


cion SI ecwtl Old own 0»<r 
otlrto 0005 ddrc QOOC go 0121 
■™i 03A3 w 0704 oov*! Dill 
ncur*4 G1FC ncunS 0205 neueaft 0201 
noaccc «U «MH 027» imlok 0241 
port* 0000 poicb ODOl parte 0002 
iwaot 0100 ohltb 44 KhlCtb 0240 
tin 01X 


e«*ii O012 
4*ctco 0010 
«M<vO 0210 
oeurft? 0211 
nuanor OJV 
puccnx 0147 
•Mitt 91B 


cabjft 
■alt«* 
noun 
noutsfl 
nuaroj 
ovt»«y 

icnc 


Old 
oi or 
01 to 
0220 
04 U 
01 ID 
01CS 



$03,S02.$0F.$19,S 1 A.SFF.$FF.$FF fQft TtfQSg ^ ff 

SFF, $EF, SFF, SFF, SFF, SFF, SFF, SFF, SFF 




68 MICRO,. 
JOURNAL 



TM 



A REVIEW OF WETPAINT 

New Clip Art for the Mac 



By: James E. Law 
1806 Rock Bluff 
Hixson. TN 37343 



Mac-Watch 



With the current Information explosion, there Is 
a proliferation of paper assaulting each of us. 
With newsletters. Junk mall, advertisements, 
and such like competing for attention, how can 
one ensure his or her work gets the attention It 
deserves? Perhaps pail of the answer Is In the 
old adage, "a picture Is worth a thousand words." 
To this end, a number of companies have pro- 
duced clip art for the Macin- 
tosh users. 

The latest such offering is 
WetPalnt by Dobi-Check 
Software. Inc. WetPalnt con- 
tains over 2.2 megabytes of 
art on 6 double- sided disks. 
It also contains two desk as- 
sessories (Art Roundup and 
Pattern Mover), and one font 
(San Quentln). 

This review Initially con- 
sidered Rev. 1 to Art Round- 
up. Ihe large number of bugs 
and system crashes with the 
version resulted in a call to 
Dobl-Check who said that 
problems with Rev. l had re- 
sulted in Rev. 1.1. About two 
weeks after disk 1 A was re- 
turned, an updated disk was 
received. 

Art for Arts Sake 



Wet Art is iecoided in 
MacPaint (I.e.. PNTG) format 
and can be opened by Mac- 
Paint. Super Paint. Full 
Paint, or other programs 
that work with this format. 
Wet Art clip art appeals on 87 
- 8 by 10 Inch pages. Each 
page contains from 1 to more 
than 70 linages. Overall, this 
collection Includes well over 
1 .000 separate linages. The 
great variety presented en- 
sures that there will be some- 
thing useful to almost everyone 
terlal covered Includes: 




- Borders 

- Western art: guns, cowboys, saddles, rodeo 

scenes 

- Maps 

- Business art: computers. Mastercard, office 

equipment 

- Food 

- Clocks and watches 

- Mlnature Icons: (lags. International symbols, 
semaphores 

- Men and women, and 

- Much more 

According to Dubl-Check. this art. with only 
minor exceptions, is new and not previously pub- 
lished. 

A number of the pictures 
are designed to be personal- 
ized by the user. For exam- 
ple, tee shirts are set up to put 
the useis unique message on 
them, a meeting notice In the 
form of a big clock can be 
modified to show the start- 
ing time of the users meeting, 
and a special large font Is 
provided to prepare custo- 
mized license plates. 

Many pages contain help- 
ful suggestions on how to 
modify and use the various 
linages. 

Overall Ihe quantity, va- 
riety, and quality of clip art 
provided makes for a solid 
value. 



Art Roundup 

Art roundup Is a desk as- 
sessoiy which allows the 
Mac user to open clip art. 
MacPaint, or Full Paint 
files: select and modify Im- 
ages: and transfer those im- 
ages to the clipboard without 
leaving the application in 
use. This means that while 
preparing a document in 
MacWrlte. Art Roundup can 
be used to quickly review art 
files, select an Image, and 
transfer that Image through 
the clip board Into the 
McWrlte document. This pro- 



Some of the ma- 



- Trains, cars, boats, trucks, and bicycles 

- Animals of eveiy description 

- Seasonal pictures to spice up your holiday 
cards and paity announcements 



A picture of the author or a 
sample of WetPalnt clip art? 

gram peifoims essentially the same function as 
Art Grabber or Quick Paint. 

Upon selecting Art Roundup from the desk as- 
sessory menu, a new menu appears with a num- 
ber of tools and options. Selecting "Open Paint 
File" displays all art files on the current disk 
which can be read by Art Roundup. Selecting a 



40 



November"87 



'68' Micro Journal 



specific art file results In the related Images be- 
ing displayed veiy quickly (less than 2 seconds 
in my system). A "Show Page" option allows the 
entire 8 by 10 inch page to be viewed. A rectangu- 
lar can be moved to select the area of the page to 
be viewed. (This Is Identical to the show page 
feature In MacPaint.) 

The scroll bars can be used to further adjust 
the position of an image in the viewing area, but 
this works extremely slow. A far faster solution 
Is to select and use the jabber hand. 

An eraser is provided to modify images or to 
clean up around the Image to be selected. The 
image can then be selected using the selection 
marquee or lasso. Images selected with the mar- 
quee can be Inverted, flipped horizontal, or 
flipped vertical. 

Art Roundup supports the use of the MacPlus 
cursor keys for opening and selecting art files. 
Several keyboard shortcuts are also provided to 
speed things up for users. 

Art Roundup is a very handy tool and is a 
great companion to WetPalnt's clip art. It does 
what it is supposed to do and does it fast. Art 
Roundup Is temperamental, however, and even 
Rev. 1.1 hung up fairly often, particularly If an 
effort was made to select and copy a large Image. 
While Art Roundup occupies less than 10K of 
RAM. another 50K is occupied when a paint doc- 
ument is opened. Perhaps some problems en- 
countered by the reviewer were due to tight mem- 
oiy situations. These problems may be avoided 
by closing a window and trying again or by se- 
lecting the art In sections to be pieced together in 
the receiving application. 

Pattern Mover 

Pattern Mover is a desk accessory which al- 
lows the editing of patterns and the transfer of 
single files or entire pallets between different 
Full Paint or MacPaint files. It wtll be especial- 
ly helpful to Mac artists who create their own 
patterns for use in Macpalnt, Superpalnt. or Full 
paint and want to move these patterns between 
documents or between applications. Pattern Mo- 
ver was not reviewed. 

System Reqiriorements 

WetPalnt clip art can be used on any Macin- 
tosh Including the 128K version. At least 512K 
will be necessary, however, to use Art Rounup. 



The combination of Wet Paint's high quality 
art and the art accessing and handling capabili- 
ties of Art Roundup provides a solid value. In 
spite of the quirks In Art Roundup, this package 
Is highly recommended. 



MACINTOSH TRENDS... 
Major New Macintosh Software 
Offerings From Apple 

Apple has announced two major new software of- 
ferings for the Macintosh. The first, called Hyper- 
Card. Is already on dealers' shelves.Thls pro-am Is 
a lot harder to explain than it Is to use. HyperCard 
consists of a number of "stacks" each of which is 
composed of a number of related "cards. " For exam- 
ple, there may be a stack of "to-do" lists with a sep- 
arate card for each day; a stack of Inventory cards 
with a separate card for each Item in an art collec- 
tion, or a stack of sheets from an Instruction manual 
will each card being a separate page. The cards may 
be related to other cards, even those In other stacks 
In any manner desired. Each card is up to the size of 
the Macintosh screen. l>est you think that Hyper- 
Card Is simply a new relational data base program, 
read on. 

The cards in HyperCard may be equipped with 
powerful buttons which may be used to branch off to 
related Information, dial a telephone, activate a sub- 
routine involving sound, animation, and/or graph- 
ics, or launch another application. It is also 
equipped with extensive graphics capabilities for 
preparing professional- looking cards. 

This software accompanied with a very clear and 
thorough manual which is the same size as the one 
that comes with a new Macintosh. 

HyperCard Is shipped on 4 disks which contain 
numerous examples of how It may be used. Those ex- 
amples are Intended to be the Jumping off point as 
users create their own HyperCard application. Hy- 
perCard requires a 1MB of RAM to run. It will be 
provided free with Mac sold In the future but Is avail- 
able for existing Mac owners for $49.00. 

HyperCard is so powerful that Its applications 
will be limited more by the creativity of users than 
by the capabilities of the software. In upcoming 
months I believe you will see many HyperCard appli- 
cations being offered by users groups and software 
companies. 

The other new Apple offering is MultlFlnder. 
This software . which was previously called Juggler, 
was scheduled to be shipped to dealers In September. 
MultlFlnder Is the first step toward a multi-tasking 
environment for the Macintosh. It allows windows 
from different applications to be open at once. While 
all windows are visible, only one window Is active at 
a time. When a given window Is selected, the asso- 
ciated application is instantaneously acttvated. 

As initially offered. MultlFlnder does not offer 
true multi-tasking capabilities. It will allow future 
programs to be designed to cause some activities such 
as printing or downloading files to proceed In the 
background while an application runs. 

Like HyperCard. MultlFlnder will be free with fu- 
ture Macs and will be available to existing owners at 
a cost of $49.00. 



68' Micro Journal 



November '87 



41 



Pascal 



A 
Tutorial 



By: Robert D. Relmlllcr 
CertlRod Software Corp 
616 Camlno CabaJlo 
Nlppmo, CA 93444 
805 929-1359 



■■;;;""■ ■■■■'■'" 



T~rv , " , /T""" 1 ?~B!^! 



^■■■■± -■•:■■■■■.. -: 



In any language you need some way to get 
down to the operating system call level, assuming 
your program runs on an operating system. One of 
the most common methods is the use of external 
procedure or function calls. 

The operating systems I have experience with 
generally fall into three categories as far as 
system calls arc concerned. 

1) Parameters passed in registers almost 
exclusively, error status returned in a register, 
examples are OS-9 and PDOS. 

2) A pointer register is used to pass 
parameters, it may point to a parameter block, 
error status returned in a register, examples are 
CP/M-68K and VERSAdos. 

3) All parameters passed on the stack, error 
status returned in a register, an example is 
GEMDOS on the ATARI ST. 

Note that only option 3 is easily handled by a 
compiler, since all parameters are passed on the 
stack anyway, no major changes are required, and 
there is no worry about random use of registers. 

Since we are talking about OS-9 here, we will 
only cover option 1. These system calls generally 
have the task of moving parameters off of the 
stack into the appropriate registers, doing the 
system call, and then setting any return values 
back on the stack so the high level language can 
access them. 

As an example of mixing standard Pascal I/O 
with OS-9 system calls, lets look at a program 
that has the job of restoring the module checksum 
and CRC. The program is designed to allow 
multiple modules per file (such as a boot hie) and 
will automatically make the distinction between 
OS-9/6809 and OS-9/ 68000 module formats. 



The program : 



Program validate ($vl,l os9 call example) ; 
type 

(pascal device descriptor for file of byte) 
descr - record 

p mode : byte ; 
p err : byte ; 
p~drv : longhex ; 
p_elnt : integer ; 
pelmt : byte ; 
p_path : hex 
end ; 
var 

f : file of byte ; 

meek : boolean ; (true if £8000 format) 

idx, parity9 : byte ; 

parityk, err : hex ; 

scount, count, mod size : longhex ; 

p : "descr ; 

crc : longhex ; (crc accumulator) 

header9 : array [10 .. 16] of byte ; (6609 

header buffer) 
headerk : array [10 .. IS17) of hex ; 

(66000 header buffer) 
buf : array [S0..S3FF] of byte ; {Ik data 

buffer) 

($I/dd/pdef /os9calis access external procedure 

definitions) 

begin 
(SI+) 
open (f, cline(l), update) ; (use 1st 

camand line parameter) 
p :- addr(f) ; (get address of variable f) 
while not eof (f) do 

begin (scan for header) 
read (f, header9[0]) ; 
if (header9[0] - $67) or 
|header9[0| - $4a) 
then 

begin (have valid first byte, look 
for second) 
read (f, header9[l]) ; 
if |header9[l] - SCD) and 
|header9[0] - $67) 
then 

m6Bk :- false (6609 header 
format ) 
else 

if |header9[l) - $FC) and 

(header9[0] - $4a) 
then 

m68k :- true (66000 

header format) 



42 



November's? 



68* Micro Journal 



else 

exit ; (not a loadable 
nodule) 
crc :- SFVTTTF ; (Initialization 

value) 
if m68k 
tlien 

begin (use words) 
headerk [OJ i- 

hex(lieader9[0]) « 8 + 
hex(lieader9[l]) ; 
for ldx :- 1 to 22 do 
begin 

read (f, parlty9) ; 
(build header words I 
header* [idx] :« 

hex(parlty9) « 8 ; 
read (f, parity9) ; 
headerk [ ldx] :- 
headerk I ldx] ♦ 
hex(parity9) ; 
end ; 
parltyk :- ; 
for idx :• to 22 do 

{calculate parity) 
parltyk :- parityk eor 

headerk [idx] ; 
headerk [23] :- not parltyk; 
(set parity) 
write It, 

byte (headerk [23] » 8)) ; 
write (f. 

byte (headerk [23])) ; 
(and update file) 
(calculate nodule size 

(remainder) ) 
nodslze :- 

longhex (headerk [2]) « 16 

♦ longhex (headerk [3]) 

- $33 ; 

(do crc over parity area of 

module) 

err :» f_crc (crc, 

addr (headerk), $30) 
end 
else 
begin 

(similar for 6809 nodules, 
except we work on 
bytes instead of words) 
for ldx :- 2 to 7 do 

read <f, header9[idx]) ; 
parity9 :- ; 
for ldx :• to 7 do 
parlty9 :- parity9 eor 
header9(ldx] ; 
header9[8] :- not parity9 ; 
write (f, header9[8]) ; 
modsize :- 

longhex (hex (header9 [2] ) 
« 8 + 

hex(header9[3l) - SO ; 
err :- f_crc (crc, 

addr (header9) , 9) ; 
end ; 
(calculate crc using IK chunks) 



for count 


- 1 to modsize»10 do 


begin 




s count 


i- 1024 ; 


err :- 


1 read (addr(buf). 




scount, p".p_path) ; 


err :» 


f crc (crc, addr(buf). 




scount) 


end ; 




(calculate 


crc over remainder of 




file) 



scount :- 


jrodsize and 1023 ; 


1 f scount 


<> 


then 




begin 




err 


:- i read (addr(buf). 




scount, p".p_path) 


err 


:- f crc (crc, 




addr(bi)f), scount) 



end ; 
(update crc for this module) 
write (f, not byte (crc » 16)) 
write (f, not byte(crc >> 8) ) , 
write (f, not byte (crc)) 
end 
end ; 
close (f) 
end • 



Pascal extension notes : 

1} Extra data types : byte = same as char, one 
byte unsigned, hex = 2 byte unsigned, longhex = 4 
byte unsigned. 

2) a $ preceding a value indicates that the 
value is taken as hexadecimal. 

3) a # preceding a value indicates that the 
value is taken as a byte value. 

4) eor is the exclusive or operation 

5) » is shift right (shift count is on the right 
of the operand), likewise, << is shift left. 

6) the convention of "<data_type> ( <value> 
)" is used to convert the value to the data type. 

7) the exit statement exits the enclosing loop 
(in this case the while loop). 

8) the addr function returns the address of a 
function or procedure. 

9) the open procedure has it's second 
parameter the file name, as it's third parameter, 
the data direction (input, output, or update). 

10) Operators such as not, and, or, eor are 
logical if the operand is boolean, bitwise for all 
others. 

In the file os9calls, f_crc has the following 
definition : 

{On input ace is the crc accumulator, count is 
the data byte count, and ptr is the ADDRESS of 
the data block. On output ace will be the updated 
crc accumulator) 

function f_crc (var ace : longhex ; ptr, count : 
longhex) : hex ; external ; 

i_read is defined as follows : 

{On input buf is the ADDRESS of the data 
buffer, count is how many bytes you want to read, 
and path is the path number. On output count will 
be the actual number of bytes read.} 

function i_read (buf : longhex ; var count : 
longhex ; path : hex) : 

hex ; external ; 



'68' Micro Journal 



November %7 



43 



In the os9calls file are about 45 other 
definitions for OS-9 system calls. Implementing 
the more obscure system calls is left as an exercise 
for the reader! 

OS-9 does all file accesses using a 2 byte 
"path" number. When the file is opened using the 
pascal "open" procedure, the path number returned 
by the operating system is stored in the file 
variable in the field "p_path". We use this path 
number when we do the i_read call. The i_read 
call is used since it is capable of reading any 
arbitrary number of bytes of data, rather than 
using the file variable definition of 1 byte per 
record. 

The example program is entered using the 
editor, and then the compiler is called to compile 
from the edit buffer to check for syntax. Also noted 
is that the stack size is $46E bytes. 

The linkage creator is called to setup the 
control files for this little project : 

$ lc validate 

CknagaSoft Linkage Creator Version 1.21 

Copyright 1987 by Certified Software 
Corporation 

Global stack aize not determined 

auto setup 1 y 

Process 2 command line option ? n 

Stack, heap, and Varib aize : 600 

Library directory nans : /dd/ 

Other pascal filea : 

Other assembly files : /dd/pdef/os9eode 

Other assembly files : 

Other library filea : 

Linker command line info : validate. np 

Map options : f 

Include filea : /dd/pdef /os9calla 

Include filea : 

Debugger optiona : 

Target dabxjgger optiona : 

Conpiler optiona : -d 

Conpiler optiona : -r 

Compiler optiona : -Ip62ftw96 /p 

Conpiler optiona : 

Assembly options : -o 

Assembly options : 

Editor options : 

OmagaSoft 68000 Assembler version 1.21 

Copyright 1987 by Certified Software 
Corporation 

Errora : Code : 00AE Data : 0000 
Varib : 0000 Table 14 of 944 

$ pa validate 



Now in the pascal shell, we can compile it 
using the -D option, and then run the debugger. 
When we are in the pascal mode of the debugger 
we need to set in the file name we want the 
program to use. This is because the programs uses 
"cline(l)" as the file name. "Cline" is a function 
that returns a command line parameter, returns 
the entire command line, 1 returns the first 
parameter, 2 returns the second, etc. 

<P>sc 

<$> testfile 

<P>g 

Assuming we have a file called testfile (I just 
copied a sample file from the command directory) 
it would reset the module(s) checksum and CRC to 
the correct values in that file and exit. 

This particular program is probably of not 
much use, since the only way the checksum and crc 
should be modified is if the file is patched, and 
the OmegaSoft patch utility includes a command 
to restore the checksum and crc. In fact, this 
example was derived from the applicable 
procedure in the patch command (why write 
something new when you can borrow code from 
something you did before?). 

Next time we will look at doing multi-tasking 
under OS-9 /68000. 

OmegaSoft is a registered trademark of Certified 
Software Corporation. OS-9 and OS-9168000 ere trademark of 
Mieroware System! Corporation. PDOS is a trademark of 
Eyring Research. CP/M-6SK is a trademark of Digital 
Research. VERSAdos is a trademark of Motorola. 



EOF 



FOR THOSE WHi 




68 MICRO 
JOURNAL™ 1 



44 



November '87 



'66' Micro Journal 



Forth 



A Tutorial Series 



By: R. D. Lurie 
9 Linda Street 

Leominister, MA 01543 



INSTALLING FIG-FORTH 

Some of you may be considering joining In the 
pleasures of FORTH programming by Installing FIG- 
FORTH, so I thought that It would be a good Idea to 
report on my experiences with the 6609 version. 

FORnt Is a lot of fun and easy to use. If you 
start off right. But FORm can be a killer If you get off 
on the wrong footl There are two ways to get F1G- 
FORrH for the 6809. either you can buy the printed 
listing from FIG for $15 and the Installation manual 
for another $15, or you can purchase one of the 
reasonably priced systems from several vendors In a 
ready- to- use form. I recommend that you save 
younself a lot of ajptvation by buying a system, unless 
you know how to use the FLEX assembler and have a 
good editor. 

The version of FIG-FORTH you get from FIG 
has no Instructions on how to Install It In any 
machine. They assume that you already know how to 
get a complicated program up and running without 
any help from anywhere. The "Installation manual" 
was written for a 6502 processor, and Is really of no 
help, except for the primitive FORIH editor It 
contains and the FIG glossaiy (which Includes woids 
not found In FlG-FORrH for the 6609. and vice versa). 

FIG-FORTH Is the public domain veislon of the 
FORTH sold for years by TALBOT MICROSYSTEMS 
[who did advertise In 68' MJ. but that Is not why 1 am 
writing thlsl). I would guess that their manual would 
be the Ideal choice to go with 6809 FlG-FORrH. In 
any case, you will need at least one good book on 
FORIH before you can do much with FlG-FORrH. 

In order to use FIG-FORTH for the 6809 In the 
form supplied by FIG. you must have the Items listed 
In Hgurc 1. 

1. A 6809 computer with the Fl£x (or SK'0O5?> operating 
system. 

2. At least one disk drive. 

3. A terminal communicating through an ACLft. 

4. A minimum of 16k of RAH, beyond that required for DOS. 

5. An editor for entering the program to disk. 

6. A macro assembler (the FLEX assembler is assumed) . 

Figure 1. The minimum hardware/software requirements for 
installing FIG-FORTH. 

As you can see from item #3, a CoCo cannot be 
used, even If one of the versions of FLEX or SK'DOS 
has been Installed. Unless you are prepared to do a 
lot of assembly language work, don't kid yourself Into 
tiying to force-feed FlG-FORrH Into the CoCo. 

Even If you have all of the Items on the list, be 
prepared to spend several (I!) hours typelng and 
debugging, before the listing will even assemble. 1 
found one error In the listing; there Is a typographical 
error In the macro for TICK . This can be found at the 
top of page 38. The correct form Is 

l-IWORDM !.. "".IMMEDIATE 



Somehow, the two quotation maiks got left out 
when the listing was printed. 1 am embarassed 
evei-ytlme I think about how long It took me to find 
that this was what was fouling up the assembler. 

Alter reading all of this, you are now probably 
convinced that you do not want to tiy to Install FlG- 
FORrH. 1 hope that I have not laid on the cautions too 
thickly, since FlG-FORrH does work, and It works 
very well! You Just have to be awaie of the potential 
pitfalls before you start. 

WHY CONSIDER FIG-FORTH? 

You may wonder why I even bring up the 
subject of FlG-FORrH. If It Is so hardware limited and 
such a pain to get going. My reason Is that It Is the 
only source 1 know of for a complete 6809 FORfll 
source-code listing which does not require a meta- 
compiler or other specialized software. If you want to 
customize FORTH to an unusual hardware 
configuration or to a minimal size for a particular 
situation, you must have the source-code In a form 
that is easy to modify and work with, and that is what 
you get with FlG-FORrH. 

Frankly, FF9 from Wilson Federlcl Is a much 
better deal for the average hobbyist, since It comes 
ready to run and Is a greatly extended version of 
FORrH-83. You can easily and readily extend FF9 
further, but you would have a lot of difficulty making It 
any smaller, since a meta-compller was used to 
generate the original source-code. For most of us, 
that is no problem, provided you can use the "(looted 
math" of FORrH 83. 

WHY NOT USB FORTH-83? 

Despite some of my rather loud ran tings and 
ravings about the surprises In FORfH-83 for Ihose 
weaned on FIG-FORTH. 1 do think that It really Is a 
friendlier programming haven than FIG-FOR'IH. 
However, FORrH-83 does use floored math. "Floored" 
math means that any operation In Integer math 
which has a remainder results In value truncation 
(not rounding) toward negative-Infinity. Of course, 
any math scheme is floored math, but the expression 
Is not used for the much more common convention of 
using zero as the Door. 

MATH PROBLEMS 

1 am sure that there were some good arguments 
extolling the advantages of minus infinity as the floor 
when the subject was presented to the standards 
committee: otherwise. It would never have been put 
Into the FORTH-83 standard. Unfortunately. I have 
never knowingly encountered any of these 
advantages. The big disadvantage, from my point of 
view, is that FORTH-83 can give the WRONG ANSWER 
to any division problem which produces a negatively 
sljpied quotient. Presently, the only fix l know of for 



'68' Micro Journal 



November '87 



45 



this bug Is to do the division as unsigned, and then 
force the quotient to be negative after all of the 
division Is finished. 1 don't like that solution, but I 
don't know of any other which will work In FOR1H-83. 
If you don't like that Idea, then you must either use 
FlO-FORMl or FORTH -79 or. else, write you own 
math routines, which will not be a part of the FORTH - 
83 standard. 

You may wonder at why this Is a problem, so 1 
will give you a simple example from F1G-FORIH and 
FORIH-83. The examples In 



FIG-FORTH: 
10000 
-10000 



355 
355 



113 
113 



FORTH- 8 3 : 

10000 355 113 
-10000 355 113 



.«> 31415 
-- > -31415 



--> 31415 

~ > -31416 



Figure 2. An illustration of the difference between division 
in FIG-FORTH and FORTH-83 . 

Figure 2 show that you get the same answer 
when you use the */ operation with positive or 
negative numbers with FIG -FORIH. but you get a 
different answer when you use the same operation In 
FORTH-83. I grant that the difference Is small, but 
there should be NO dlllerence! Consider what kind of 
problems you could get Into when trying to move an 
accounting program from FIG-FORTH to FORTH-83. 
Sometimes I think that the people who write 
standards don't live In the real world (I'll grant equal 
time to the opposition)) Now you can see why there Is 
a market for FIG-FORIH and FORIH-79. 

FORTH IN ROM 

Every once In awhile, there Is a flurry of interest 
In putting FORIH Into ROM. This Is a veiy good Idea 
for use In dedicated controllers, and other such 
devtces. but It poses a problem for the general 
purpose computer. When FORIH Is put Into ROM. It is 
then veiy difficult to change It, which Is the potnt of 
using ROM tn the first place. However, the general 
purpose use of FORIH often requires extension of the 
dictionary with words which are unique to a 
particular Job. 'therefore, these words must either go 
into RAM or go Into a new. special purpose ROM. 
Unless you want to keep a library of ROMs, It appears 
to me that one Is better off keeping a library of disks. 

Except In veiy special cases. FORIH requires 
some RAM for the Data and Return Stacks. Therefore, 
under normal circumstances, there Is no practical 
way to escape using at least a few words of RAM. In 
fact. 1 cannot think of any way that a true FORIH for 
the 6800 or 6809 could be written which did not have 
a Return Stack, even if you could avoid a Data Stack 
by Judicious use of the registers. I am sure that even 
the relative multitude of registers tn the 68000 would 
not remove the necessity for some RAM, because you 
would still need the Return Stack. As I think about It, 
It occurs to me that the way 16/32 bit machines 
"waste" RAM. the 68000 would probably need more 
RAM than a 6809 to do the same Job. 

Some people think that putting FORIH In ROM 
would somehow make It run faster than the same 
code In RAM. For the same CPU clock speed, 
assuming no wait states, programs In RAM and ROM 
should execute at the same speed, so that there Is no 
way for one to run taster than the other. 



The only way to gain speed would be In the 
original loading of the FORIH. If the FORIH were In 
ROM Instead of on a disk, you would not have to spend 
the loading time for the original setup each time that 
you turned on the computer, but there would be no 
gain beyond that. Program execution would stay the 
same. 

Of course, the situation would change for a 
cassette tape system. Programs Just do not load as 
fast from tape as they do from disk, so you could get 
pretty tired of watting for your FORI"H to load. This 
must be one of the reasons for BASIC In ROM on the 
CoCo. etc. I certainly remember Ihe agonizing wait for 
SWIP 8k BASIC to load tnto my 6800. Under those 
conditions. 1 would even have settled for COBOL 
programming. If it were in ROM and I had enough 
RAM to go with 11171 

SINGLES TO DOUBLES 

This has nothing to do with 9exi Many FORIH 
words expect to find a double precision (32-bit) 
integer on the Data Stack, even though we usually do 
as much as possible with single precision (16-blt) 
Integers tn order to speed up program execution. The 
question often arises as to the best way to convert a 
single Into a double. 

I have the bad habit of simply stuffing a onto 
the Data Stack in order to make the conversion as 
quickly and as painlessly as possible. This Is 
acceptable for unsigned or positive I6-bll Integers, 
but It Is wrong for negative 16-blt Integers. If the 
single precision number on the Data Stack Is 
negative, then - 1 Is the correct value to stuff onto the 
stack. 

Ihe proper way to do this Job Is with S->D . An 
effective high level definition is: 

l-l:S->D(n-d)DUPO<IF-l ELSE THEN ; 

You already have this word in FIG-FORrH, but 
It was left out of FF9. Of course. It would be better to 
define this word tn assembly language If you need a 
speedy conversion. Look at Figure 3 for an assembly 
language definition suitable for FF9. 

COOE S->D ( n -- d ) 

I LDD 

,U TST 

MI IF, COMA CCMB THEN, 

,--U STD 

N8XT, 
END-CODE 

Figure 3. FF9 code definition for S->0 

In case you are wondering, the definition of Figure 3 
came from the F1G-FOR1H source-code, and the 
resulting machtne codes are Identical. Ihe high level 
definition takes 202 microseconds and the low level 
definition takes 41 microseconds to extend the 
size/sign of a negative Integer. The high level 
definition takes 182 microseconds and the low level 
definition takes 37 microseconds to process a 
positive Integer. This factor of only 4.9 times as long 
shows how remarkably fast a FORIH definition can 
be. 



46 



November "87 



68' Micro Journal 



EXECUTION TIMES 

I am tn the process of running an exhaustive 
study on the execution speed of most. If not all. of the 
common FORTH functions, and I will report on them 
as soon as I complete the experiment. At present. I 
plan to compare FIG-FORTH and FF9 for the 6809 
and LM1 Z-80 FORTH for CP/M. If 1 can make It work, I 
will also download the Z-80 FIG-FORTH from the 
CP/M-SIG on CompuServe to be Included with the 
others. I should mention that I am using a GMX 6809 
cpu card operating at 1 Mhz. and a Z-80 operating at 4 
Mhz. In a CP/M system. 

As you can Imagine, this study takes a lot of 
time, and I have Just baiely started wllh the FF9. 1 am 
not sure how long the study will take take, since I 
want to compare a reasonable selection of definitions 
In both high level FORTH and assembly language. 
Furthermore. If I can manage It. I wtll tiy to throw In 
as many comparable operations as I can In C. BASIC, 
and possibly PASCAL. Whether or not this can bt 
done depends on both my programming ability and 
language availability. I would be happy to hear any 
suggestions any of you would care to make: and 
constructive criticism of the testing method will be 
welcomed. I have no ax to grind, here, so I don't care 
how long It takes to finish the study. If ever, and I have 
no predisposition as to the results. I'll Just repoit 
Ihem as I measure them. 

I mention this partly because of the surprising 
(to me) result I got from timing the IF ... ELSE ... THEN 
branching conditional In FF9. I should not have been 
surprised that a TRUE branch takes significantly 
longer than a FALSE branch (a 4:3 ratio). The reason 
Is that a TRUE branch simply must execute more 
machine code than a FALSE branch, so It must take 
longer. This Is not unique to FF9. but the ratio of times 
to execute the two branches must depend on the code 
written and the cpu used for execution. 

It turns out that there Is no significant 
difference In FF9 for the execution time of the simpler 
IF ... THEN conditional, whether the Boolean flag Is 
either TRUE or FALSE. This Is what 1 expected. 
Intuitively, but I was amazed to discover that this Is 
not true for the LMI Z-80 FORTH. I suppose that Ihe 
Z-80 JZ/JMP command combination was used to 
write the definition, and this could account for the 
timing difference. 

All of the times are based on "empty" functions. 
In that I have found that the times I get are additive, 
so that I can extract known time fractions from an 
experiment so that the difference can be attributed to 
a single operation. 

CASE STATEMENT EFFICIENCY 

As you may have noticed. I am partial to the 
CASE ... ENDCASE structure proposed by Eaker In 
FORTH DIMENSIONS. II/3 . I devoted considerable 
space to It In the December, 1986. issue of 68 'MJ. so 
you can refer to either place for more details on the 
use of this version of CASE ... ENOCASE . 

I was particularly interested in seeing the 
results of a timing study on this subject since I do use 
it so much. Ihe results are summarized In Figure 4. 
This definition was called from a nested 

DO ... LOOP structure which executed a total of 
100.000 times. Ihe repotted values are the averages 
extracted from each run. alter the time used by the 
loop, itself, and loading the CONSTANT had been 
factored out. Figure 5 shows this structure. 



CASE-STUDY ( n — ) 










CASE 











OF 


ENDOF 


\ 


235 


microseconds 


1 


OF 


ENDOF 


\ 


374 


microseconds 


2 


OF 


ENDOF 


\ 


513 


microseconds 


3 


OF 


ENDOF 


\ 


£54 


microseconds 


4 


OF 


ENDOF 


\ 


7 95 


microseconds 


( 


default ) 

END-CASE i 


\ 


174 


microseconds 



Figure 4. The -envty- CASE ... END-CASE timing experiment. 

3 CONSTANT 3 

4 CONSTANT 4 
54 CONSTANT 54 



TEST 

TIMER -ON 
2 DO 

50000 DO 

CASE-STUDY 
LOOP 
LOOP 
TIHER-OFF ; 



\ - 4 and 54 were used here 



LOOP structure used to call 



Figure 5. The nested DO 
CASE-STUDY . 

In order to simplify the test, the value of the 
CONSTANT was changed and the definition was 
reloaded for each value tested. 

When I started to study the test results. I found 
the same kind of additive time factors as I had found 
wtth other operations. After examining these results, 
I have calculated (and measured) that there is a 
minimum overhead of 214 microseconds If there Is 
only one selector, and It is not chosen. Ihls compares 
to 34 microseconds for a single IF ... ELSE ... THEN 
conditional taking the FALSE path. Iherefore, don't 
use CASE ... ENDCASE for a single choice-pair, tfyou 
have any need for execution speed. 

I have not had time to determine the cause for 
this very high overhead for CASE ... END-CASE: it wtll 
probably turn out to be something obvious, once I get 
a chance to study the situation. However. It is a good 
example for the adage about taking nothing for 
granted. 

Ihe CASE ... END-CASE construct Is essentially 
only a more convenient way to program a series of IF 
... ELSE ... THEN choices. It Is not a Jump-table! A 
cursory glance at the data In Figure 4 shows that you 
should not use the CASE ... END-CASE for any 
operations which must be run In the shortest 
possible time. Furthermore, put the most common 
choice at the head of the list and the least likely 
choice at the bottom of the list. For practical 
purposes, the last choice on the list and the default 
will be selected In about the same amount of time. 
Now I know why some of my programs have been 
running slower than I expected) 

The Ideal use of the CASE ... END-CASE 
construct Is In an operation like keyboard Input 
sorting, since there Is no possible .way that you can 
type fast enough to outrun the computer. On the other 
hand, a different selection scheme should be used for 
time- sensitive operations, such as animated 
graphics. In other words, don't let programming 

habits cause you to make poor pfogrammln g choices. 



BOP 



'68' Micro Journal 



November's? 



47 



Build the GT-4 Graphic Terminal 

(A Construction Project) 



By- 
Joseph D. Condon 
8072 172nd. Street W. 
Lakeville, MN 55044 
Phone: 612-431-7624 

Introduction 

With the increased popularity of OS9 and other 
multiuser operating systems, there has developed 
a strong demand for low cost high quality ASCII 
terminals. Unfortunately, a good quality general 
purpose terminal will sometimes cost as much as 
the system you connect it to. Many of us own or 
use systems capable of supporting multiple users 
with only one teimlnal attached to them. Having 
a second terminal in the den or upstairs out of 
the basement is a luxuiy few of us can afford. For 
those of you who do not yet own a system and are 
considering purchasing one of those low cost 
single board computers, dont forget that you will 
have to connect a teimlnal to it before you can 
use it. The additional expense of a good quality 
terminal can sometimes raise the price of a 
single board system beyond the budget of a 
typical hobbyist. 

If you are willing to invest some time and if the 
thought of wire wrapping or the smell of solder 
doesnt make you violently ill. I can show you 
how you can build your own ASCII teimlnal with 
all the bells and whistles Including medium 
resolution graphics for a fraction of the cost of a 
commercially available unit. 

How much of a fraction? Well that depends. You 
will have to purchase a monochrome video 
monitor with a composite video input and an 
IBM XT compatible keyboard. These two items 
will account for the majority of your expenses. 
With a little bargain hunting you should be able 
to purchase these two items for under $150.00. 
The remaining cost will be for components and a 
case to put them in. The total cost for the project 
should be under $250.00 if you. buy everything 
new. If you have a well stocked Junk box you may 
be able to i educe the cost to under $200.00. 

Before committing your time and hard earned 
cash to this project, you probably would like to 
know a little more about what you will receive 
for your eirorts. The terminal, which I will refer 
to as the "GT" (graphic terminal) is an 
asynchronous, RS232. ASCII type terminal. The 



CD 




terminals electronics Including the power supply 
is designed to fit neatly into a 10"L x 7.5"W x 
3.1"H case available from Jameco Electronics 
(part no. H2507). 

The GT is capable of operating at speeds up to 
19200 baud. The communication default 
parameters such as baud rate, parity, character 
data length and stop bits are switch 
programmable. These parameters can be changed 
or oveiTidden at any time by use of a built in 
configuration menu which can be invoked from 
the keyboard. The GT's screen foimat is 80 
characters wide by 24 lines high. The GT 
contains both upper and lower case character 
sets and supports character underlining and 
character reverse video. Editing functions 
Include character insert and delete, line insert 
and delete, clear to end of line and clear to end of 
page. The GT also supports all of the standard 
control codes such as clear screen, home cursor, 
line feed, carriage return, etc. Absolute cursor 
positioning and invisible cursor mode are also 
supported. 

In addition to the previous Items, the GT provides 
medium resolution graphic capabilities. The 
display screen of the GT can be considered as a 
plane of pixels 640 wide by 240 high. Each 
Individual pixel can be turned on. off, 
complimented or tested using simple ASCII 
escape sequences. There Is also a fast line 
drawing function based on Bresenham's line 
drawing algorithm. Graphics and text can be 
mixed and will appear on the screen 
simultaneously. The GT is also capable of 
dumping to or loading from the host computer 
partial or complete screen images In the form of 
ASCII text records. In combination with a good 
quality keyboard and video monitor, the GT will 
make an attractive first or second terminal with 
excellent display quality for a minimum cost. 



48 



November "87 



'68' Micro Journal 



Because of the amount of Information that needs 
to be covered, this construction project will be 
presented In two parts. The first part 
concentrating on the hardware and the second 
part concentrating on the software. The software 
for the GT Is complete and fully functional. It Is 
not necessary for the builder to be a programmer 
In order to construct a working terminal. The 
software source will be printed In part two of this 
article and will also be made available by "68 
Micro Journal" In the form of a reader service 
disk. You the builder must have access to a 
"FLEX" system capable of assembling the 6809 
source code and burning the object file Into a 
2764 type EPROM. For those of you who 
absolutely do not have access to a "FLEX" system 
or EPROM burner. I can supply a limited number 
of programmed eproms for a price of $20.00 each. 
I really do not have the time or facilities to bum 
large quantities of EPROM's but I will do It for 
those Individuals who absolutely have no other 
means to acquire the EPROM. 

The Hardware 

The GT Is designed around the MC68B09E micro 
processor. The "E" style processor Is similar to 
the standard 6809 except that It requires 
externally generated E and Q clock signals. This 
allows for complete synchronization of the 
processor In relation to external events. This 
synchronization is required In the GTs design. 

The 6809 series processor only requires access to 
its memory and I/O devices when the E clock 
signal Is high or active. When the E signal Is low. 
the processors address and data bus can be used 
by other devices provided the processor Is 
isolated from the address and data bus. Tills type 
of operation Is known as memory access 
Interleaving and Is especially well suited to the 
6809E because of Its external clock requirements 
and Its fixed memoiy access cycle time. 

When Implementing an Interleaved memory 
access design, several points of concern need to 
be addressed. One major point Is device access 
time. As an example, a typical non interleaved 
system operating at a clock speed of two 
megahertz will require memoty and I/O controls 
with access times of 350ns or less. If we were to 
Interleave this system, our access time would 
decrease to 2 10ns or less. This access time Is not 
a problem for today's ram devices but It does 
present a problem for some eproms and most I/O 
controls. It is possible to find eproms with access 
times below 210ns but the standard two 
megahertz I/O controls for the MC680O family 
have a minimum access time of 220ns which 
would be too slow for this design. To get around 
this problem, most Interleaved systems will only 
allow Interleaved access to ram or wtll restrict 
its clock speed to somewhere under two 
megahertz. 



To avoid the access time problem associated with 
Interleaved systems, the GT only allows 
Interleaved access to Its ram memory. To further 
simplify Its design, the clock speed of the GT has 
been established at 1.5 megahertz. This allows 
the use of standard two megahertz I/O controls, a 
250ns eprom and a 150ns ram. 
The ram memory addresses of the GT are 
Interleaved between the 68B09E processor and 
the 6545A video controller chip. The 
multiplexing of the addresses are handled by four 
74LS157 multiplexor chips. The systems E clock 
signal Is used to select the source for the 
multiplexing circuits. During the time when the 
video controller has access to ram, the 
processors data bus Is isolated from the rams 
data output lines. This Is accomplished by the 
74LS245 bidirectional buffer chip. Once the ram 
has been addressed by the video controller, a 
shift register Is loaded horn the rams data output 
after the rams access time has been met. This 
data Is then shifted out of the 74LS165 shift 
register at the rate of 12 megahertz, each data bit 
representing one pixel. During this access period 
It Is necessary that the rams R/W signal remain 
In the read state condition. 

In order to create a video Image, in addition to 
pixel Information we must provide 
synchronization signals for the video display 
device. These synchronization signals both 
horizontal and vertical are generated by the 
6545A video controller chip. The 6545A also 
generates cursor and video enable signals which 
are all latched into a 74LS75 at the same time 
that the shift register is being loaded with ram 
data. The latched data and the shift registers 
pixel information Is then combined to create a 
composite video signal that Is suitable for our 
display device. 

It Is Imperative that all of the before mentioned 
steps occur at precisely the same point in time. A 
time variation of only 20ns will be noticeable on 
the display screen. Because of this critical timing 
it is necessary to compensate for differences In 
propagation delays of the different chips being 
used. This is accomplished by using multiple 
buffer gates In series to delay certain critical 
signals such as the latch enable signal. The 
appearance of these buffers may appear 
redundant In the schematic but they are 
necessary for proper operation of the GT. It is 
also advisable to use only the "LS" versions of the 
7400 series Integrated circuits. Substituting non 
"LS" devices with different propagation delays 
will probably affect the quality of the display 
Image. 

The clock generation and timing signals 
required by the GT originate from a 12 megahertz 
crystal oscillator. I chose to use the oscillator as 
opposed to a discrete crystal In order to reduce 
the component count of the GT. The frequency of 
12 megahertz is arrived at by the following 



'68' Micro Journal 



November 37 



49 



explanation. A standard video monitor has a 
horizontal scan time of 63.5us. Approximately 
80% of this time can be used to display video 
Information. The remaining 20% of this time 
will be used for horizontal sync and blanking. 
The amount of time allowed for display data is 
therefore 50.8us. 

Since each display character frame Is eight 
pixels wide and we wish to display 80 characters 
per line, we are therefore allowed a time of 79ns 
per pixel. This gives us a clock frequency of 12.6 
megahertz. Since a 12.6 mhz oscillator would be 
hard to find. I chose the closest standard value of 
12 mhz. This means that we will be displaying 
data for 84% of each horizontal scan time as 
opposed to 80%. This Increase In display time 
may require a slight adjustment of the monitors 
horizontal width control In order to display all 
80 characters. 

The oscillators output Is fed directly Into the 
shift register and Is used to clock the data bits out 
to the display. This clock Is also fed into a 
74LS193 counter who's outputs are decoded by a 
74LS138 Into eight Individual state signals. Four 
of these state signals are used to set and reset two 
flip-Hops which generate the systems E and Q 
clock signals. Another flip-flop is used to 
generate a ram enable signal which In effect 
disables the ram for a short period of time to 
allow for multiplexor address stabilization 
during the select transition time. 

The state three signal Is used to load the shift 
register and to latch the control signals coming 
out of the video controller chip. Notice that the 
clock signal driving the counter Is delayed by two 
Inverters in relation to the shift registers clock 
and also the state three signal which latches the 
video control signals Is delayed in relation to the 
shift registers load signal. These delays are 
needed to compensate for differences In 
propagation delays which would affect the 
quality of the GT's display. 

Control of the ram data buffer and the ram R/W 
signal Is derived from the Inverted system E 
clock signal, the processors address 15 line and 
the processors R/W signal. Decoding of the RAM. 
PIA. AC1A and VID enable signals are handled by 
a second 741.S138 decoder chip who's outputs are 
only enabled during the high portion of the 
systems E clock signal. Notice that the lower four 
outputs of the decoder are not used. These four 
outputs correspond to the memory locations 
occupied by the ram and are not needed since the 
ram buffer Is already being controlled by the 
processors A15 line and the systems E clock 
signal. 

The ACIA control used In the GT is a 655 1A. This 
controller has an on board baud rate generator 
which can be controlled by software. This allows 
for changing the terminals baud rate without 



having to physically alter the circuit. The 
MAX232 driver chip is a fairly new device on the 
market. With the addition of four capacitors, the 
MAX232 can generate the positive and negative 
RS232 signal levels from a single five volt 
supply. This greatly reduces the total number of 
components required for RS232 compatibility. 

The PIA control serves several functions in the 
GT. The A side data port of the PIA Is used to read 
the configuration switch settings. The CA2 signal 
Is used as an output which triggers a one shot 
which sounds the piezoelectric beeper. The B side 
of the PIA Is used to access and control the 
keyboard. 

The keyboard used with the GT must be an IBM 
XT compatible keyboard. This type of keyboard 
transmits its data In serial fashion. Each scan 
code received from the keyboard Is eight bits In 
length and Is preceded by one start bit. The start 
bit and data bits are shifted out of the keyboard 
In synchronization with a keyboard supplied 
clock signal. The data bits are valid during the 
fall time of each clock cycle. The 74LS164 shift 
register. Hip-flop and Inverter make up a nine bit 
shift register. When the last data bit Is shifted 
Into the 741-S164. the start bit Is shifted into the 
flip-flop. This resets the flip-flops Q not output 
which is connected to the PIA's CB1 input. This 
transition of the CB1 Input causes the PIA to 
generate a processor Interrupt request. When the 
processor services the interrupt It first reads the 
B side data port of the PIA which will contain the 
keyboard scan code received by the shift register. 
The processor then toggles the CB2 output line 
low and then high which resets the shiit register 
and flip-flop in anticipation of the next scan 
code to be received. It Is important that the 
processor clears the shift register and Hip-flop 
before the next scan code begins to shift in. If not. 
the GT would loose synchronization with the 
keyboard and only garbage would be received. 
Because the 68B09E can service interrupts much 
faster than the keyboard can generate them, this 
Is not a real problem. 

Well, that pretty much coveis the theory behind 
the GTs hardware design. It Is not necessary to 
understand all of the details Involved with the 
GTs design In order to build a working terminal. 
1 Just thought that the explanation would be of 
interest to those who may want to modify or 
expand upon the basic design of the GT. 

Construction 

A picture of the GTs circuit board layout is 
Included with this article. The picture is not to 
scale, however the grid markings on the board 
are one tenth of an inch on center. The 
construction technique I recommend is wire 
wrapping. For those of you not familiar with this 
type of construction. I will tiy to give you a few 
quick pointers. 



50 



November'87 



68' Micro Journal 



Fiisl of all. the board must be cut to size before 
any components can be mounted. Alter cutting 
the board to size you should then drill the eight 
mounting holes and the one additional hole 
needed to attach the regulator and heat sink to 
the board. Notice the three holes across the 
center of the board are drilled between the 
existing prepunched gild holes. 

Once drilled. I would suggest laying the 
board on a one inch thick piece of styrofoam 
Insulation so that the discrete component 
mounting pins can be easily Inserted. I 
recommend using Vector T-44 type pins. These 
pins need to be Inserted wherever discrete 
components are to be mounted, such as by-pass 
capacitors, resistors, diodes etc. Once the pins are 
inserted you may then solder in all of the discrete 
components. 

The next step after removing the board 
from the styrofoam base Is to mount the cable 
connectors and the beeper. I prefer to use quick 
setting epoxy for this. Next Insert all of the IC 
sockets but do not glue or fasten them to the 
board. The wire wrapped on the underside of the 
sockets will hold them in place. 

Before you start to wire wrap, label the 
components and IC sockets on the underside of 
the board. Remember that pin one on a IC will 
vaiy depending on how you view the chip (top or 
bottom). Now you can start wrapping. I prefer to 
use pre-cut, pre-stiiped wire but thats entirely up 
to you and your budget. Each time you wrap a 
wire, mark the wire on the schematic with a 
yellow magic marker. This will insure that you 
do not miss any connections. Because the GT Is 
fairly small and has few Integrated circuits. 1 
decided not to run solid Vcc and ground busses. 
You should wrap the Vcc and ground wires first 
before any other signals and you may want to 
double up on the ground grid to Insure noise free 
operation. 



Alter the wire wrapping Is complete you 
will need to mount the board In the case. You will 
have to use one half Inch spacers to provide 
clearance for the wire wrap pins. I wont go Into 
detail as to how or where you should mount the 
power transformer, plugs, switch, fuse holder, 
etc. Keep in mind when you are wiilng for 120 
volts ac to be careful and provide proper 
clearance where needed. 

The last Issue I want to discuss Is pails 
and where to get them. All the components for 
the GT can be purchased from Jameco 
Electronics except for a few odds and ends like 
the piezoelectric buzzer and power transformer 
which you can pick up at your local Radio Shack 
store. All of the parts used in the GT are standard 
off the shelf components and can be purchased 
just about anywhere. You may want to shop 
around for the best prices but I think you will 
find Jameco Electronics hard to beat for this 
project. 

As for the keyboard. I use a JE1015 from 
Jameco and it must be used In the XT mode of 
operation. I have not tried any other keyboards 
on the GT but if It is XT compatible, it should 
work. The monitor I use is a NEC JB- 120 IMA 
character display. If you shop around, you should 
be able to pick one up for about $80.00. Just about 
any standard composite video monitor should 
work with the GT. 

Although any XT compatible keyboard 
and any composite video monitor should operate 
correctly with the GT. I cannot guarantee that 
they will. All I know for a Tact is that the JE1015 
keyboard and the JB- 120 IMA monitor work 
properly with the GT. 

Well, that about does it for the hardware 
portion of the GT. Next month we can all change 
hats and become programmers. As I mentioned 
at the beginning of this article, you don't have to 
be a programmer in order to build a functioning 
GT terminal but you should at least be familiar 
with the software in order to exploit the GT to it's 
fullest potential. See you next month. 




5 000000 HI 



i i I r 



'68' Micro Journal 



November's? 



51 




t b r 

OSC 12H 



MV WF' 



741 37361 






74L573M 

ir. 



7415I38A 



■ml S73A2 




«"! 






^mi^' tTȣc7 "mtor;' 



74LS13BB 

13. 



•HI 



■^oianiiq 



I ,..: mitiii i 






il 



3^iWfi 



MC68B09E" "" '■ ' SY6545A 

rnfmmtffi™^ ^ 




W i --J isiinn i?J»iJ3ii|?5|?I lflg!iiifi§!£££ '% 




>A-r 



imama 



mi w 

74LS7S 



untiii umiu Hifills U"l~ 
I fWftvK^ 1 1 vtmm i HB Win™ Sir* 



TETETFF 

74LS2«b 74LSIS7D*U 74LS157Ciy 74LS157Btt; 

li'isiuil MMJgj Iwaaaif taJjJrf 



Itt uuut i iMjjgl laJJJil I«JJJrl Mm 

ai «%*. ♦. «%*. «% 

I BHHH Mi tm fsfi -jn 



RAM (62256) 




74LS1S7A!— • 

tmniL 



itsTlfllt 
74LS1BS 



ISBiEHlt lllllilliliil 

ROM (2764) _ 



p€, i*-***- 



i ■ 



I 



aae« 






II B 



a * 



':* 



$ 



— 
*- 

s 



9 

-8 



1 



| .! t>Bssia* it 

L 11 L1J1JJJ1 li L Lar > 



MC68B21 
i uunu ii 
M 



P f+ttwt 

» ■g I I (ii 1 1 1 1 1 



74LS1238 
"J 






Q 



llllill! 



■ N 

t " 

i ? 

i ;; 



74LS123A 



|Jy| 



I -S Illlttll U fl B 



iinm 



iS-fl 



SY6551A 

urn l 



74LS16* 

■ I IM 



2 



.i. 



.B74LS73B2 



-Wttfc- 



1 1 mm \ 



J 



^ 






If 



!(5Sg CIEI 

_ idiii > 1 mil 



2 
IS 



I 






mis 






52 



November 'B7 



'68' Micro Journal 



Bit-Bucket 



Continued from Sept. 87 

A PL/9 Interface for ISAM 

by: Martin C Gregorie 
10 Sadlers Mead 
Harlow. Esicx U.K. 

/' mu up ui let paxaMtar ptr/lth pair •/ 

proodura laaaparaBllntagai' .lcb.n. ptr. lth)i 

lntagar if 

l-n'2; 

Icblll-ptri 

lcblLD-lOi, 
■ndpcae/ 

/• denial* Uit langtn or * ntrln<f •/ 

prccadura laaa ltlxbytl .atrl-j 

lntagar ni 

r#-0; 

•Alia atrial n-n«l; 
andprec ft." 

/' copy oylaa converting to uppar C4M (flla apac) •/ 

procMuro lsuctvy (byta .a,.dj lntagar longjthl i 
byta CI 

lntagar 1; 
i-0< 

wMU l<l«igtli 
Bag In 

o-a(lli 

lr O-'a .and cc-'z than c^?-»20j 

1-1. li 



ail>-0: 
drcoe .df 



/• 



II 



c io—nftd rroA th* .c 



paraMai.r ■/ 



procadura 1 tupai Ibyta . CBtidl 
lntagar r; 
If J.cavaK.Mrot Uum 

r-*.latrt 
•la* 

r-t . iapo* *.cand- . Ilrit; 
Ij»t*g*r r; 



/■ elHt tha let) ■/ 

puoalurt luaclilrllnttgtr .lcbM 
lntagar 1; 
1-Jj 
rapaat 

1-1 H/ 
until 1>2«< 



/* unalgnod ! '/ 



aatup 



Cor ready and foroat */ 



pmcadtir a laaaaatupdntagar .let), ldi byt* .action, .duo: 
lntagar rlon, klanw 
laaiacl.arl.lcbt; 
lcto(lll-ldi 

laaaparml ,lct>,«. .Icbll J) .2); 
l*aapar*n(.lcb. I, .act Ion, 2) i 
laaaparaal.lcb. 2, iuamcy l.nua, .lcblltl.laaB_ltbl.nna 

Uaa.itbl.naa*|): 
IcfttMI-rlani 
laaacaraat.lcB,}. .lcb(24).2>; 

la>l22>-tlani 



/■ >=oaEj.<-, a bay »lth a raoorn •/ 

prooa&ira aatejlicyt* .k«r. -ract lntagar lth) » 
lntagar l.r; 
1-Q) 

>«Ua Kith .and kaylll -*nd raclll 
Bagin 

It kayllloraclll tIMR r— 100; /■ lay 
1-1. li 



rt 




By: All of us 



u»r lntarraoa procedural 



prooadur* dbatatua (lntagar .iebti 
inttgdr lcb(12]; 



prooadura rajdyOntagar .icb, ldi byla .iuaai 1/ftagax rlan. Man) ; 

l**m»tup<.lc&. Id, .lardy, .mm, rlan f k.l*n); 

li**Mcto,/ 
•ndptoc dfcat»t\u( . Icb); 

peoevdura flniah (lntagar .icb); 
i«i^«ru<.ld),., .lifln,_>)j 
iaab(,lcb»f 

dbat*tu*|.lcb).r 



i): 



prouaduxa *bort (lntagar . lebjj 
lai-rn rtt|. Icb, 1. .iulK.2l 7 
liu|. Icb) j 

tmdpFT*. <U»t*tua(..cb»: 



pnaaadur a poaltlondntagar .left, byta 
lntagar K/ 
k-1 .vu-po ■ ( , tad ) j 
iatu*>arM.(.lcb, 1,a,2)i 
II a-.fatrt Own 

l«uparu(,lcb, 5. .Oad.iau _lth< .oodl ) i 
1C .cad-.flnt .« .oad».laat .or n-.latrt titan 

laa-t.lcb) 
alaa 

lcto(12)-t01i /■ rapiy 2fll~vrong «arb •/ 

: dbatatu* | ( IctoJ ; 



pnevduj* obtain (lntagar ,lcb: byta .«a,,rfch 
int«gv ptr; 
icb(i2)*C( 
ptr*lunpoa (.C3TMJI; 
If .ci»G«.fir*t .or .otO-.laat .or ptr-.latrt than 

poiltloM .Icb, . ca-ai : 
If dbautuit.lcb.-O Uttn 
bag In 

If .nW.lnt chm 

pt-r— liuapOM{ .prawl<xi*l : 
lr .cakd*.flrit .or ptr-.latrt tlMn 

pt r-1 aaapa a I . nmx. t) ; 
luflparWl.ietw l.ptr,2| * 
I)0{hihI . lcto, 5, . ne. lab 124) I j 
lam(.lcb); 

andi 

If l.cadc.rirat UMf) 

If dblt«tua(.lcb)-0 than 

lcb(12l-match(.cakd, .r«c.lcb(22j)f /• th* right rw 
• tatuaf.lcbl; 



prooaoiira «tora|lnt»g«£ .ld>; tn/ta .rack; 
is*<sp«ru4,lcb,l, .ludd, I); 
luapt tH 1 . Icb, J, . rac, lab (24 1 ) t 
laaJH.lcbt. 

•fidpeoc dbatatual.lcbt; 

proc«fur« ar«»a(lntao»r . lcb»r 
laa^kari-«(.lcb,l..lwS«l,2|; 
laatai.lcblJ 

•ndbXDC dbatAtui {. lebt ; 



ra Modify < lntagar .lc*>: byt« <rtc|; 

•raaat.lebu 

If ab*tatua|.lcb)-0 than 
»tor*|.10b, racl 
aitdjtcoc dba titua |-lcb» 

(irtoAm raorganiaa | lntagar .icb.). 

iaaapa r«a(.lcb, 1, .lar«o,2|; 

laMl.lcb). 
■ndproc dbatatui(.lcb|i 

Ctfw*iur« to nut (lntagar .teb. ldt byta .ntnai 

1/ltvgar rent, rlan, klan J 
laa«aatup|. Icb, Id, . lacrt, .oua, rlan. klan) t 
Icb U3» -rent; 
laaj^MrM(.lcb,4. .Icb 123), 21) 

lMMt.lCbtj 

: dbat»lu»#MCB)j 



60' Micro Journal 



November "87 



53 



Dear Mr. Williams, 

Last month 1 was pleased to discover the existence of your 
journal. Like most of your readers, I loo am a die-hard. 
Back when IBM stormed the country, I was angered thai Big 
Blue chose Intel processors for their line of personal 
computers. Everyone who reads your journal knows that 
Motorola makes a superior microprocessor, but you know the 
market. It is like a swarm of lemmings that all follow IBM 
like it is the only computer company. Don't gel me wrong. 
Good things came fonn the PC/XT and PC/AT. Five years 
ago I never would have dreamad lhat 1 could buy a Mbyte 
hard disk for less than $300.00. They are pretty good 
machines. Everyone knows that it could have been a much 
better machine if ii had started out with an MC68000 engine 
under its hood. 

But even though I am still mad at IBM to this day, I find 
relief in discovering your journal. Your subscribers are a rare 
group of people just like me. It is lonely out here. Most of 
the people I know who are interested in computers are either 
Display-Write Crunls or Lotus Zombies. That is little better 
than being completely computer illiterate. The days of the 
computer hobbyist seem to be dwindling (even though "we" 
built the industry). But 1 know there is hope. I must admit, 
1 own an IBM clone. But 1 also have an MC68XXX software 
development package form SDS Inc. which 1 have big plans 
for. I am hoping that a few of us die-hards can gel our heads 
together and make a big splash in the micro-computer 
industiy. 

Just a little biographical information. I have been a 
computer hobbyist ever since 1 dropped out of graduate 
school in wildlife biology in 1979 (and abandoned my 
Master's Thesis on Lizard Ecology and Behavior'). After 
doing laboraloiy analyst work and being unemployed for 
several years I am now a computer systems analyst in the 
chemical manufacturing industry. This September will mark 
my third year of computer work for my company. 1 now 
have a hand-full of systems running out in the plant. 1 have 
many veiy promising ideas and some of those will be filed 
with the U.S Patent Office. My experience is primarily with 
software but I am veiy interested in hardware too. 1 would 
like to use your journal to reach others like myself who are 
either amateurs or professionals with big commercial goals. 
If any of your readers are interested in developing and 
marketing some ideas (using Motorola parts of course) have 
them write to me at: 

Advanced Process Control 
Rohm A. Haas Texas, Inc. 
Deer Park, Texas 77536 

Enclosed is a check for a 3 year subscription to 68 MICRO 
JOURNAL. Thank you. 

Sincerely, 

Paul K. Mckneely 



n 



DC 



:aE 



ii-u= 



50 W«t Hoovaf Av*. 
Mftu b Anions 85202 
T»l. (602) 962 5559 
F*i (607) M 2- 57 SO 



Contact Mark Stopfton* 
Contact: Cora Pabouetticftt 



rAMILT Of ZWDU$TK1A2. » 
IH «AA3H On/XI 



WESCON BOOTM.-SGO? 

QTUS FOtTQRMS 



NUA, AX, September 25. 111? — GUPAC announce* lta antiy In 
tha ayataa* hueioeaa with tha introduction of a new fasily of 
vereetlle ■icrocosaputar ayataeu alaed at tba industrial 
suuket place Tha CE30CMV ia a powerful real-tia*. sniltl- 
taaklng aicreconputar ayataa in a ruggad and compact alogla 
height Eurocerd package* that allowa tha uaer to Monitor, 
teet end autouta procaaaaa in a varlaty of harah industrial 
and military environment a. 

Tba GXSCOMP ayataa la iotaodad to be uaed aa a pcocaaa or 
call controller in factory automation application* Tha 
CUC0MV ia ideal for u*a aa Imbedded computer* In 
intelligent mechina toola and apaclellied inetranajitatlooa. 
The GE3COKP ayatemj ceo alao be uaed aj total hardware and 
aoftware deveiopwant worketatioo* 

The CXSCOfW effera the highaat level of processing power for 
ayatame of it* claaa and a lie At the low end of (XSPAC'i 
offering la the CMCON? IJ00-M which uaea an * MBi Kbit 
(8000 Blcropraceaaor and coaea equipped with two 1 Megabyte 
3.3" floppy diak drives end 512 Kilobytes of RAX The most 
powerful eewjber of the CCSCOHP family n the GBSC04P 8340- 
P/HT which feeturaa a vary high performance 32-bit (8020 
■lcroproceaaer running at 16 7 MHi with a GBBBl arithmetic 
co-pcocaaaor. 2. S Kagabytaa of RAH. 1 Megabyte of A. 5* floppy 
dlek atoraga end 40 Magebytee of herd diak aterage. Severel 
variatiooa of thaaa ayataa* are offered hy GXSPAC depending 
on the amount of proceaalog powar oeeded end tha required 
dlek/auc atoraga capacity, The opeo Q 64 hua architecture of 
the ayataauj allowa memory expaneiena up to 32 Kagabytaa. 
Th* GXSCOMP aystaa ia aupportad hy tha Os>9 diak operating 
ayataa which ia well accepted and familiar to tha automation 
industry, 08-9 faatuxaa an advanced "UNIX-Like" atructura end 
fore*. A apecial library allowa 03 9 to run program* written 
for tWXX in C. Unlike Umxx. however. OS-9 feeturea a lean end 
feat modular atructura that can aeeily be put into ROM for 
dlaklea* ay a team . The reel-time, aultl-tesklng nature of OS-9 
perailta tha uaar to divide hla application* into itviril 
concurrent taeka, while allowing raal-tiee reepanae to 
outaide aventa Tha modular, wulti-uaar architecture of OS-9 
pereilta the addition of a new uaar to the ayataa in no tlee 
Depandlng on tha load of work, the GAsV^OKP ayataa will 
support up to 16 vaara on Una aimultanaouaiy 

Th* Gascon* le delivered complete with tha diak operating 
• yataa, e screen editor hcid esteabler symbolic debugger, 
linkar. and a C compiler. Other high level language 
intarpratara or ccaspiiera are optionally available for 
Fortran, forth, Basic and Peacal. 



54 



November '87 



'68' Micro Journal 



X kay feature of the dSOOHP lyitw la Its open G-6* bua 
architecture which a Hove a degree of customization which ia 
uaaurpeseed in tha industry Tbia cuatoaixation ia eeaentiel 
lo order to meet tha specific reqalreaaente of Mit industrial 
applications, ror instance, a GtSCOHF atay ba configured aa a 
data acquisition ayataai by adding analog i/o modules end 
additional nonvolatile atorege memory. Or, by adding motor 
cootrollar cards end industrial I/O interface*, tba CX3COHP 
C4» t>« tba main controlling unit of a Billing ei;hir.» 
A QK9COB0? ayataai typically ptovidee I unused a lota, each of 
which can accapt any ona of the ISO fl-44 board level products 
ia GHPAC's catalog, tba GSSCOMP will sj so accapt G*E4 bua 
board level products from any of tba mora than 20 i&dapendent 
G-6* hua vendors . Tha G-$4 bua ia a second genaration 
• icrocoaqputar acchitaetura aimed at midranga induatrlal 
appllcationa. 

dSCOxp system* ara daaign«d to coaaiunicata with tb* operator 
with a standard CRT terminal It ia alao poaalbla to connect 
grapbica cacda into tha ayatem to display high raaolution 
pictorial Information of (40 by 460 pixels to 1024 by 1024 
plxala in 236 colors out of a palette of 262.144 Tha usar 

can easily inatali one OK mora of these graphics controllers 
into the seme backplane to aleultaneoualy control eultiple 
displays 

Another unique featura of tba QESCOKF syataog la tbair 
nat working capability- Using CXSSCT. a proprietary oat work 
protocol froai GK3PAC, up to SO CXSCOf* ■yitau caa talk to 
ona anotbar over 3,000 faat of eoexial cable. Tha Network 
oparetee at 100 klloblta par aacond arid achieve* vi,y high 
throughput thank* to it* auparior C5M*7C* {Collision Sana* 
Multiple Accaaa / Collision Awoidanca) arbitration and it* 
Direct Misnry Accaaa ops ret ion. CESNET's coat par node ia a 
fraction of tha typical coat of mora publicised networks auch 
»a Btbaraet or HAP 

A waraion of tba GRSNIT controller board ia to be released by 
GXSPAC for tba WX bua. Tbia connection will *i low dSCOMT 
system* to perform aa a front and processor with VMS baaad 
auparvleore in a hierarchical, dlatrlbuted processing 

acchitaetura Tha network ia totally integrated into the diak 
operating ayataai. thus allowing transparent accaaa to all 
rasovrcaa. Tor Instance, all graphic screens, diak atoraga 
end coaamjnlcatlon* porta ara accaaeible from any processor in 
the network 

for uae Ia the moat aavara environments, where s»ch*ntc*l 
diak diivii are not allowed, tha GXSCOMP can run without a 
disk. In tbia mode of operation, the ayataaui can boot from 
the operating system* end appllcatioo progcama located Ia 
CMCH. The CZSCCttT 1* alao aapandabie to use a bobble memory 
cartridge ayataai for uaa in tbaaa environments . Oaing GX5HTT. 
a disk based GXSCONf located in a clean environment can aarva 
a* fila aarver for aewerel AOH Oeeed CISCO"? eyataew on tha 

""" '•""» ""' FOR THOSE WH> 



The GateCOam* eyetem uaea a modular arcbltacture with all vit*l 
function* readily accaaaihle bmbAod the front panel for easy 
aarvica end eapeaJion The ayatem i* based on the 100 by 160 
millimeter (4* x S. 23" t G-64 bus Burocard end featucaj a 
rugged DIM 41612 pin*-in-eecket backplane architecture The 
email form fector of tbe card* and tba auperlor DIM 
connector, make the GE5C0MT particularly reaiatant to abock, 
vibration. and corrosion du« to itibomi contaminate* 
CISC 0*0? is packaged in a table eacloaure for development or 
laboratory environment or in a 19" rack for mounting in a 
Him ancloaura or directly into tha application. Bach GBSCCM* 
ayatem includes e 200 Matt power aupply 

Other versions of tba GX8430MP ayetam*, ualng tbe 1026< 
■ Icroproceaaor and the N3-0O9 operating ayatanui . era eleo 
available from G1S»AC . 

GtSCOtC? syatama *re eveileble now, prices atart at J399S for 
aingla quantity orders of tha baalc eyetem configuration. 0D4 
discounts are available for large quantity order*. 



lyJ/WINDRUSH 



>ftcn>Sj«IB LB 






COLOUR GRAPHICS AND GKS ENHANCE 
MCS8O20 WORK STATION 



Windrush Micro Systems Limited are pleased to announce the 
immediate availability of a high resolution graphics adapter lor their 
Omega work station. The Omega Incorporates the Motorola 32-bit 
MC68020 processor with the MC68681 maths co-processor. The 
OS-9/68K mulll-user/mutll-tasking operating system fully exploits the 
advanced leatures of the Omega ha/ttwve. 

The colour graphics adaptor provides a 768 « 576 * 4 blts'puel 
resolution. Up to sixteen colours Worn a pallette o) 4096 colours may be 
displayed simultaneously' The adaptor Incoporates 512K o) dedicated 
memory and the Hitachi HD63484 Advanced CRT controller. The 
adapter Is supplied with a complete terminal emulation device driver lor 
OS-9. This enables the user to dispense with the normal serial terminal 
required for the main user. Also Included Is a graphics Interlace library 
which enables the uaef to plot lines, cades, rectangles, etc as a seiies ol 
high level commands. A complete package which includes the NEC 
Multisync colour monitor, a iracfcerbail. and a keyboard with 24 function 
key* costs £1680. When added to the base price of the Windrush 
Offlaga with OS 9/68K Professional the total system price comes to 
£46507 

The Omega Is supplied with five RS-232 ports which may be used to 
accommodate additional users or used to drive serial printers. Also 
included as standard Is a 20 Mb Winchester hard disc, a 1 Mb 3.5 inch 
floppy disk, 1 megabyte of zero wait-state, non-volatile Static RAM. A 
paraHel pi inter port and a dock calendar are also included. 

GKS (level Oa) as defined in British Standard 8S6390 is available tor 
£1250. The GKS kernel Includes "C language bindngs. 

Trie Omega Is further enhanced by options which include an additional 
megabyte of memory, a nine pet RS-232 interface and an IEEE4S8 
Interlace wrth a G-64 bus e«P»n stori arJapior. 



•I NEED TO KNOW 



68 MICRO 
I JOURNAL* 



'68' Micro Journal 



November '87 



55 



C ClaSSifi6dS As Sunmittcd - No Guarantees J 



AT4T 7300 UNIX PC. UNIX V OS. 1MB Memory, 20 MB 
Hard Diik. 5" Drive, Internal Modem, Mouse. BestOfferGcts 

It. 

S+ System with Cabinet. 20 Meg Hard Disk A 8" Disk Drive 
with DM AF3 Controller Board. 1 X 1 2 Terminal S4800. 

DAISY WHEEL PRINTERS 

Q ume Sprint 9 • $900 
Qume Spiinl S - $800. 

HARD DISK 10 Megabyte Drive -Seagate Model #412 $275. 

3 • Dual 8" drive enclosure with power supply . New in box . 
S125 each. 

S - Siemens 8" Disk Drive . $100 each. 

Tuno Outpost II, 56K. 2 6" DSDD Drives. FLEX. MUMPS. 
$495. 

TELETYPE Model 43 PRINTER - with serial (RS232) inter- 
face and full ASCII keyboard . $250 ready to run. 

SVVTPC S/09 with Motorola 128K RAM, I-MPS2. 1-Paralell 
Port. MP-09CPU Card - $900 complete. 

Tom (6 15) 842-4600 M-K 9AM to 5PM EST 

• *• 

I Want To Buy 

GIMIX #68 DMA FDC. Price and details to 

Roger Sleedman 

RMB9010OMEOHwy 

Sarsfield 3883. Australia 

• *• 

PT68K-lA(SameSBCasMustang-08/A). 12MHz68008.768 
K RAM. 2-80 Track. 25M Hard Disk. $1500 
Martin Bose (415)351-7297 

••* 

SWPTC 6809 with DMAF2 Subsystem, two Serial Ports. 
Televidco 950. NEC 8023A Printer. Milgo 300/1200 modem. 
All fot$900. 
Al (214) 262-1286 - 7pm to lOpm CST 



!!! Subscribe Now !!! 
68 MICRO JOURNAL 

OK, PLEASE ENTER MY SUBSCRIFITON 
Bill My: Mwrcrard □ VISA □ 

Card « Exp- D»ie_ 



For 


1 Ye« 2 Yean 

Enclosed: 5 


3 Yean 


Name 






Street 


City 


State 


Zip 


Country 








My Computer [»: 






Subscription 


Rales 



U.S.A.: 1 Year $24.50, I Yean S42J0, 3 Yean $64.50 
•Foreign Surface: Add $12.00 per Year to USA Price. 
•Foreign Airmail: Add $48.00 per Year to USA Price. 

•Canada & Mexico: Add HM per Year to USA Price. 

•U.S. Currency Cash or Check Drawn on a USA Bank ! 



ZZ 



68 Micro Journal 

5900 CEsandra Smilh Rd. 

FOB 849 

Hixson, TN 37343 






Telephone 615 842-4600 



Telex 510 600-6&30 



Clearbrook Software Group (604) 853-911 8 



CSG IMS la THE full featured relation- 
al database manager for OS9/OSK. 
The comprehensive structured ap- 
plication language and B +Tree Index 
structures make CSG IMS the ideal 
tool for He-Intensive applications. 
CSG IMS lor CoCo2/3 OSS LI/2 (single usar) $169.95 

CSG IMS for OS8 L2 or 68000(multi usar) $495.00 

CSG IMS demo with manual $30 




MSF - MSDoi File Manager for CoCo 3/OS9 Level 2 
allows you to use MSDos disks directly under 0S9. 

Requires CoCo 3, OSfl 12. SDISK3 driver $45.00 



SERINA - System Mode Debugger for OS9 L2 

allows you to trace execution of any system module" 
set break points, assemble and disassemble code and 
examine and change memory. 

Raqulrea CoCo3 or Gimlx II, OS9 12 & 80 col. terminal $139.00 



ERINA - Symbolic User Mode Debugger for OS9 
lets you find bugs by displaying the machine state and 
Instuctlons being executed. Set break points, change 
memory, assemble and disassemble code. 

Requires 80 column display, OS9 L1/2 $€9.00 



Shipping: N. America • $5, Overseas ■ $10 
Oearbrook Software Group P.O. Box 8000-499. Sumas, WA 98295 

OS8 It a Iradtmtrt o* Mlcmwri Syilcmi Corp., MSDoi n i lr»d«mjrt cr MigotoW Corp 



56 



November "87 



'68' Micro .Journal 



K-BASIC* 



The Only 6809 BASIC to Binary Compiler for OS-9 

FLEX or SK*DOS 

Even runs on the 68XXX SK*D()S Systems* 



I Hundreds Sold at 
Suggested Retail: 

$100.00 



I 



• 6809 • OS-9™ users can now transfer their FLEX™ 
Extended BASIC (XBASIC) source files to OS-9, com- 
pile with the OS-9 version and run them as any other 
OS-9 binary "CMD" program. Much faster than BASIC 
P'ograms. 

• 6809 - FLEX users can compiler their BASIC source 
files to a regular FLEX ".CMD" file. Much faster execu- 
tion. 

• 68XXX - SK'DOS™ users running on 68XXX systems 
(such as die Mustang-08/A) can continue to execute 
their 6809 FLEX BASIC and compiled programs while 
getting things ported over to the 68XXX. SK'DOS 
allows 6809 programs to run in emulation mode. This is 
the only system we know of that will run both 6809 & 
68XXX binary files. 

K-BASIC is a true compiler. Compiling BASIC 6809 pro- 
grams to binary command type programs. The savings 
in RAM needed and the increased speed of binary 
execution makes this a must for the serious user. And 
the pi ice is now RIGKH 

Don't get caught up In the 'learn a New Lan- 
guage" syndrome - Write Your Program In 
BASIC, Debug It In BASIC and Then Compile 
It to a .CMD Binary File. 



For a LIMITED time 
save over 65%... 
This sale will not be 
repeated after it's 
over! * 



SALE SPECIAL: 

$69.95 



SPECIAL 

Thank-You-Sale 



Onfy from: 



c 



S.E. Media 



p 



i 



5900 Cassandra Smith Rd 

Hbtson,Tn 37343 

Telephone 615 842-6809 

Telex 510 600-6630 



A Division of Computer Publishing Inc. 
Over 1,200 Titles • 6aor>68o^6aofX 



* K8ASIC wtf nn ixxfcr 68XXX SK'DOS n btuUdi mode for the 6809. 

Pliac aijoa to cr*^e wttul octtr. 



68' Micro Journal 



November *87 



57 



SK* DOS 

r/vC*w"i:D05" lOr 66000 #^T»l«aiKX»i -n 

* Induitntl Control 

* duuntxs l Jt» 

* Education*! Computing 

* Sc*t>Mic Computing 

* Number Crunching 

* Dediciiod Sviiimi 

* Turnkey Syitirpi 

* Oiti Collection 

* Singlft board Com putrn 

* Suvoofnted Campy t**t 

* Gr4pri.CS W0rlc5t*T<0nt 

* CWol * kiOd Systemi 

* Adv»nc*d Kotatoy.n U*» 

SK* DOS it * vnflVuw* di>k 0<W*x*nfl iviit™ '<X wxnpu iff » using MoiOf all 3? bit CPU* 
atch « th* 68008. 66000, 66010. too 68020 M prcwitftt the power or * lull DOS yet i> 
tintple «nd m»v to ui*. and will run on tv«l#m» from 3?K to 16 megabyte!. B*e*w*e 
SKiDOS ii usklv nnpltm*n(Kl on i npw .yiiom. ** t4ll H "The Gemf** DOS" which 
•Howl P'OOWti i vwiltvn lor out lyjtem 1o be tun on many olherl 

SK*DQScofr»w w»1h ov«* 40 Com r>vjn0S and iv4tB*n PfOy »/nMnckidinq ■ fi809imulitof 
which jIIowi 68K SK • DOS io fun *ppt «yii on pr og/amf and lanfruga developed (or 6009 

SK*-DOS and other »yit«mt Atsemblcff, ed'tO^ *nrj higher level tJiw»j»9e support «rr> 
fvkjleble r*om third P«ty toftwsre vendor* end tnnju^ph public domain SOltware. 

SK«DOS tteveiiable for i.«o»«-copyor dulci utei. n well mOEM llceniing, Sirtole cooi«i 
cost $126 (inquire et *o eveileble lyJlemi), Extremely iltrective OEM \K*minq termi ere 
el«o 4«4ileble,. An optionil Configuration Kil contains 4 detailed ContiQiir«tion Manual 
and iwo diiki ol «MifM code lor *V*»tn> adaptation, including source code tor a jyrtem 
monitor/ debug ROM end other program* useful Irx adapting SK* DOS io new tvttemt. 

SK*DOS 



ti tvtttaht* tram 



StarK 



, v SOFTWARE SYSTEMS CORPORATION 

FO.tOXlW MT KISCO.NY l<H4t OM.'JIIOIS) 

TELEX H0W:KJM 



INDUSTRIAL PASCAL FOR 68000 AND 6809 

PCSK is a package thai generates code lor a 68000 sen«s processor 
running on a 68000 development system II includes the compiler, 
assembler, linker, host debugger, target debugger, and screen editor, 
all Integrated together and controlled by a menu driven shell program 
Source code is included lor the runtime library and many ol the 
utilities Host operating systems supported are OS-9/68000 
(Mlcroware) POOS tEyrrng Research), and VERSAdos (Motorola) 

PXK9 is a package that generates code tor a 6809 processor running 
on a 68000 development system Includes all ol the features ot the 
PCSK package above, except for trie host debugger Host operating 
system is OS-9/6800D 

I WANT IT. WHERE DO I GET IT? 

For more information on erlher of these two products please contact 
Certified Soltware, Soulh East Media, or one of our European 
Licensees 



OEM LICENSEES 
Gespac sa, 3. chemin des 
Aulx, CH 1228 Geneva/Plan- 
les Ouales, Swilz. TEL I022) 
713400. TLX 429989 

PEP Eleklronik Sysleme 
GmbH Am Klosterwatd 4. 
0-8950 Kaulbeuren, West 
Germany TEL (08341) 8974. 
TLX 541233 

Ellec Eleklronik GmbH, 
Gallleo-Galllei-Slrasse. 6500 
Main; 42. Postlach 65. West 
Germany TEL (06131) 
50031. TLX 41B7273 



DISTRIBUTORS 
a C S Microsystems Ltd 
141 Uxbridge Road, Hampton 
Hili. Middlesex, England. TEL 
01-9792204. TLX 8951470 
Or Rudolf KeM GmbH, Per 
phystrasse 15. 0-6905 
Schnesherm West Germany 
TEL 062 03/6741. TLX 
465025 

Elsoft AG. Zelgweg 12. 
CH-5405 Baden-Daettwil. 
Switzerland TEL 
056-833377, TLX 828275 
Byte Studio Borken. Buten- 
wall 14. 0-4280 Borken. 
West Germany TEL 
02861-2147. TLX 813343 



CERTIFIED 

SOFTWARE 
CORPORATION 



616 CAMINO CABALLO. NIPOMO, CA 93444 
TEL: (B05) 929-1395 TELEX 467013 
FAX (805) 929-1395 (MI0-8AM) 



SOFTWARE FOR G80x AND MSDOS 



SUPERSLEUTH DISASSEMBLERS 
EACH J99-FLEX $101 -OS/9 S100-UNIFLEX 
OBJECT-ONLY vattlont: EACH ISO-FLEX.OS'V.COCO 
«nor actively gorwaia source on cHH with labels, include iret. binary coiling 

spec it y «H».1.2.j , ,5,a.94S02 Winn or ZaOJBOBO.S vwtien 

0&9 wrsoo al« procMMi FLEJt torrna ot-M Ma ufilor DS-9 

COCO OOSaveilsole In 6800.1.2.3 SB, 8/SKtf version (not ZBO/8080. SI only 

NEW: IS010 disassembler *1D0.FLtX.OS/9.UNIFLEX.OSJ9-e8K.lViSu0S 

CROSS-ASSEMBLERS WTTH MACRO CAPABILITIES 
EACH S50-FLEX,OS/9,UNIFLEX.MSDOS,UNIX 3/1100 ALUI200 

st-city ieo>.esoMisoi,eeo4.eeo5.eaos.zs.zeo.B04toosi.ioBs.8eoio.32ooo 

modular crossawemnSrt In C. with »»<w.r*»o ututa* HOW: 0&3-6B K 

win tataddrtajnalfSOaacKflOOIcy 3. »300fc«atl 

DEBUGGING SIMULATORS FOR POPULAR 8-BIT MICROPROCESSORS 
EACH tTS-FLEX S100-OS/9 S80-UNIFLEX 
OBJECT-ONLY «erSlon»: EACH ISO-COCO FLEX.COCO OS< 
irneraclNefy tirnulale processors. hduOa &u****&i »ofm#nng.a^ary eAtng 
speoiy k» eeooii, (i4)seo5. eso3, M09 osja, iec flex 

ASSEMBLER CODE TRANSLATORS FOR 6502, 6800/1, 6809 

6502 U 6909 175-FLEX WS-OS/> $«0-UNIf LEX 

$80O/l 10 5909 » «809 10 poaWoo- iorj JSO-FLEX |75-06r» J60.UNIFLEX 

FULL-SCREEN XBASIC PROGRAMS wfu> nimx control 
AVAILABLE FOR FLEX, UNIFLEX, AND MSOOS 

DISPLAY GENE RATOFVDOCUME MTOfl »!0 » lourca. » 2S wlthoul 

MAILING LIST SYSTEM (100 t'louic*. SSOolinoul 

INVEKTORY WITH MHP ttOO mf'aourca. ISO wtlhoul 

TABULA RASA SPhEADSMEET 1100 w/aoma. ISO wtirxxff 

DISK AND XBASIC UTIUTV PROGRAM LIBRARV 
S50-FLEX S30-UNIFLEX/MSDOS 
adit Olsli MOOT*, tort fAnWory. malmilin nustar ao*oo oo a* son. 
iWQni srm or all 01 BASIC pnxt»T>.»»( BASIC OOOTKn. «tc. 

nooFLEX vankn reiuda »on arxJiwaojoncai only 

CMOOEM TELECOUMUNCA TIONS PROGRAM 
*100-FLEX,OS/9,UNIFLEX .MS-DOS, OS/9-68K.UNIX 
OBJECT-ONLY vanlan*: EACH ISO 

menu-Oivan w»l «TF»\* moos. Us KM. MOOEM7. XON XOFF, etc 
to COCO arrj rtraOOCQ *™» ravnal COCO nulam pert op to 2*00 BJuJ 



DISKETTES & SERVICES 

5.25" DISKETTES 
EACH 10. PACK S12.50-SSSD/SSDD/DSDD 

Anwrtaivmaoa , ouarantaeo t0O%ou«IDy. with Tyvakiacuu. huo "Vs, «nd fc 



ADDITIONAL SERVICESFOR THE COMPUHNG COMMUNITY 
CUSTOMIZED PROGRAMMING 

wa wii ctatwnira any of eia- piooranvs demcAma n tils advwfsamanf or m our 
ixokixn lor apariafTTi arstcyrwr uh or to oovw new p/ooaasn: iha &&<ao 
for suc*i oawnuaoDn dapenos upon ew iruAatBUUTy of tha irtndiScaAam 

CONTRACT PROG RAMMING 
we will create new uopansi or fnoo>ty existing prooivna on a contract oasis, 
a scev^oa we have P T owded tor ower twerfy yDare,tre can%xtvt onwtw^ we 
njveiMki'Jwo coreoct pTDgrwrvM^ ftctuds most popiAar (nadets ot 
mail a ieifs , nejianB IBM. Burro^tw . IMvsc. Hone-yweJ. most popular 
ir»rfw» ct i »u»nm rttu*^ oec BU OQ «= AT»T. woman 
popular brands Ot mlcrocomput era. IncAjOno ee(KVt . 6009. ZBO. 6S02. 

69000. using moat app-DprOde avtBuagaa ani u v — m inu a ytami . on systsnis 
langing In size pom EerDe sav. 1 - llaurfcavrv 10 single ooftT) cor* osan : 
me efvaraa lor contract prognmmng It usually by the hour v oy Vie task 

CONSULTING 

weoffwawoeraT^pof bumm andteoS^cal OTeu^g aannam. aieaasng 
sanwws.soVve.toBnfc^. anddeiaT^ on any topic naaaat to aknpusn ; 



Computer Syalema Consultants, Inc. 

1454 Lalta Lane, Conyet*. GA 30207 

Telephone 404-483-4570 or 1717 

We take orders at any lime, but plan 
long discussions slier 6, II possible. 

Conlsct us about catalog, dealer, discounta, and services. 
Most programs In source: glue computer. OS. disk size. 
25% oil multiple purchases ol same program on one order. 
VISA and MASTER CARD accepted; US funda only, please. 
Add GA sslea lax (If In GA) end S% shipping. 

(UNVLEX m TKtmkal SyEMflw Ccnu*M£ OSU Ulotxm a. COCO Taney MSOOS IWiaM 



S8 



November's? 



'68' Micro Journal 






THE 6800-6809 BOOKS 

..HEAR YL NBA* 



OS-9 
User Notes 



By: Peter Dibble 

The publishers of 68' Kicro Journal are proud to 
available [he publication of Peter Dibbles 
0S9 osn WOTtS 

Information for Che BEGINNER to the PEO. 
Eegular or CoCo 0S9 



Dalng 0S9 

HELP. HINTS, PROBLEMS, REVIEWS. SUCCESTIONS, COMPLAINTS. 

0S9 STANDARDS. Generating a New Bootstrap, Building a 

new System Disk, 0S9 Users Croup, etc. 

Program Interfacing Co 0S9 
DEVICE DESCKIPTORS, DIRECTORIES. "FORKS". PROTECTION, 
"SUSPEND STATE", "CIPES". "INPUT/OUTPUT SYSTEM", etc. 

Programming Languages 

Assembly Language Programs and Interfacing; Baslc09, C, 

Pascal, and Cobol reviews, programs, and uses; etc. 

Osaka Include 
■ o typing all the Source tlatlaga lit. Source Code and, 
where applicable, assembled or compiled Operating 
Prograa*. The Source and the Discussions in the 
Columns can be used "as Is", or as a "Starting Point" 
for developing your OWN more powerful programs. 
Programs sometimes use multiple Languages such as a 
thort Assembly Language Routine for reading a 
Directory, which is then "piped" to a BaalcOS Routine 
for output formatting, etc. 



BOOK $9.95 

Typeset — w/ Source Listings 

(l-Hole Punched: 8 x II) 

clue Under S5.50 



All Source Listings on Disk 

1-8" SS. SD Disk SK.95 

2-5" SS, DD Disks S24.95 




FLEX™ 
USER NOTES 

By: Ronald Anderson 

The publishers of 68 KICRO JOURNAL are proud to 
make available the publication of Ron Anderson's fUXZ 
OSES MOTES, In book form. This popular monthly column 
has t-een a regular feature in 68' MICRO JOURNAL SINCE 
1979. It has earned the respect of thousands of 
68 MICRO JOURNAL readers over the years. In fact, 
n'a column has been described aa the 'Bible' for 68XX 
users, by some of the world's leading microprocessor 
professionals. The most needed and popular 68XX book 
available, Over the years Ron's column has been one of 
the most papular in 68 MICRO JOURNAL. And of course 
68 MICRO JOURNAL is the moat papular 68XX magazine 
published. 

Listed below are a few of the TEXT files included in the 
book and on diskette. 

All TEXT files >n the book are On lhe disks 



LOGO Cl File toad program to offset memocy — ASM PIC 

MEMOVE CI Memory move program — ASM PIC 

OUMPCl Printer dump program — uses LOGO — ASM PIC 

SUBTEST Cl Simulation of 6800 code to 6809. stow differences— ASM 

TERMEM C2 Modem input to disk (or other port input lo disk) — ASM 

M C2 Output a tile to modem (or another port) — ASM 

PRINT C3 Parallel (enhanced) printer driver — ASM 

MOOEM C2 TTL output (o CRT and modem (or other port) — ASM 

SClPKG C1 Scientific math routines — PASCAL 

U C« Mini. monitor, disk resident many uselul functions — ASM 

PRINT C4 Parallel printer driver, without PFLAG — ASM 

SET C5 Sel primer modes — ASM 

SET8AS1 C5 Set printer modes — A-BASIC 

NOTE: .C1..C2, etc. -Chapter 1, Chapter 2. etc. 

**0ver 30 TEXT files Included is ASM (assembler)-PASCAL- 
P1C (position Independent code) TSC BASIC-C. etc. 

Book only: $7.95 + $2.50 S/H 
With disk: 5" $20.90 + $2.50 S/H 



With disk: 8" $22.90 + $2.50 S/H 

Shipping A Handling 53.30 per Book. $2.30 per Disk xt 

Foreign Orders Add $4 SO Suifice Mail 
or 57 00 Air Mail 

If paying by check • Pleue allow 4-6 weeks delivery 

' All Currency in U.S. Dollars 

Continually Updated In 68 Micro Journal Monthly 

Computer Publishing Inc. 

5900 Cassandra Smith Rd. 

Hixson, TN 37343 



'FLEX is a trademark oi Technical Systems Consultants 

"0S9 is a trademark of Mlcroware and Motorola 

"6*1 * Micro Journal Is a trademark of Computer Publishing Inc. 



(615)842-4601 

Telex 5106006630 



'68* Micro Journal 



November *87 



59 



OS-9 



L1 UTILITY PAK— Contains all programs formerly in 
Filter kits 1 & 2, and Hacker's kit 1 plus several 
additional programs. Complete "wild card" file 
operations, copies, moves, sorts, del, MACGEN shell 
command language compiler. Disassembler, Disk 
sector edit utility, new and improved editions, approx. 
40 programs, increases your productivity. Most 
programs applicable for both level I & II 6809 OS-9. 
S49 95 (SS1.95) 

Call or send Self Addressed Stamped Envelope for 
catalog of software for color Computer OS-9 and other 
OS-9 systems. 

BOLD prices are Co Co OS-9 format disk, other formats 
(in parenthesis) specify format. Ail orders prepaid or 
COD VISA and MasterCard accepted. Add $1.50 S&H 
on prepaid, COD actual charges added. 

SS-50C 

MEMORY LIQUIDATION SALE! 

(While Supply Lasts) 

1 MEGABYTE RAM BOARD 

Full megabyte of ram with disable options to suit any 
SS-50 6809 system. High reliability, can replace static 
ram for fraction of the cost. S399 for 2 Mhz or $439 for 
2.25Mhz board assembled, tested and fully populated. 

2 MEGABYTE RAM DISK BOARD 

RD2 2 megabytes dedicated ram disk board for SS-50 
systems. Four layer circuit board socketed for 2 
Megabytes) Special sale price of $399.00 includes only 
256kof ram installed (you add the rest), includes OS 9 
level I and II drivers for Ram disk, (note: you can re- 
boot your system without losing ram-disk contents). 
(Add $6 shipping and insurance.) 

Please call for answers to your technical questions 
concerning these products. 

D.P. Johnson, 7655 S.W. Cedarcrest St. 
Portland, OR 97223, (503) 244-8152 

(For best service call between 9-11 am Pacific time.) 

OS-fl Is a trademark of Microwave and Motorola Inc. 
MS-DOS Is a Iredomark ol Microsoft Inc. 



# 




DATA-COMP 

SPECIAL 
Heavy Duty Power Supplies 

For A Imfted time our HEAVY DUTY SWTTCHNG POWER 
SUPPLY. TTwaa am 9RAND NEW units. Note that thess 
prices are less than 1/4 the normal price for these high 
quality units. 

S900 CiojTT*™ SfflMl Rd, ttncn, Tn. 37343 

Telephone 615 642-4600 Telex 510 6DO€SD 

Make: ftstheri 

Size 10J x 5 x 2J inch™ 

Including heavy mounDng bracks and heatank. 

Rating: in 11<V220 volu ac (strap change) Out 130 wans 



Output +5v - 10 amps 
4-1 2v- 4.0 amps 
+12v- 2.0 amps 
•12v-0.5 amps 

Mating (Um&tr. Terminal arj> 

Load Rucsm: Aunnsr shoit circuit recovery 

SPECIAL: $59 .95 each 

2 or more $49.95 each 

Add: SI 50 each S/M 

Make: Boschert 
Size 10.75 x 6v2 x 125 inches 

Rating: 110/220 ac (strap change) Out 81 vttts 



J 



Ouputs +5v - 8.0 i 
+12v-2.4i 
+12v - 14 amps 
+12v-2.1 amps 
•12v • 0.4 amps 

Mating Cqiun Mote* 

Load Reaction: Automatic short dronl rauvery 

SPECIAL: $4955 each 

2 or more $3955 each 

Add: S7JQ SrfH each y 

5900 Cassandra Smith Rd, Hbtaon, Tn. 37343 
Telephone 615 842-4600 Telex 510 600*6630 




68000 68020 68010 



68O08 6809 6800 

Write or phone for catalog. 

AAA Chicago Computer Center 

120 Chestnut Lane — Wheeling IL 60090 
(312) 459-0450 



Tachnlcal Consultation available most weekdays from 4 PM to 6 PM CST 



60 



November "87 



b8' Micro Journal 



Stop! 

Get a 25 Mega- 

Byte Hard Disk 

practically FREE 

only 1C 

•Be Sure to Consider the 

SPECIAL MUSTANG-08/A 

10 Sale on outside 

back cover 

'This is exactly one cent more than the price of 

the same system - with two floppies - for one cent 

more you get one floppy and a 25 MegaByte Hard Disk with the faster 

CPU board, additional serial ports and Improved clock! 
Includes Professional OS-9™ Version 2 and the $500.00 C Compiler! 

Remember - When it's over, IT'S OVER! 

We don't know how long this very, very low price can be maintained, don't miss it! 

Data-Comp Div. - CPI 

68' Micro Journal November "87 61 



INDUSTRIAL COMPUTER SYSTEMS 

68008 - 68020 VME STD SBC 

STD BUS I/O OS9 

HILL WEST INCORPORATED products and services are intended for 
industrial users of microcom outers who are looking for a supplier prepared 
to provide complete engineering and technical support. We configure 
systems with com poncnts and software selected or designed to meet specific 
customer requirements. We specialise in solving industrial I/O problems. A 
full range of seivices is available including system specification, integra- 
tion, and installation, hardware design and pioduction, and system and 
application programming. 

SYSTEMS 
BILL WEST INCORPORATED provides microcomputer systems con- 
figuiedto maet the needs of particular customer ■□plications. These systems 
use 68000 family processor and the OS9(im) operating system. We design 
and c«vf gure systems based on VME bus, STD bus, and single board 
computers, with processors ranging from the 6809 to the 68020. Disk based 
and ROM based systems ate suppoiied. Systems for development and target 
applications can be supplied. 

I/O EXPANSION 
The STD bus is an excellent I/O expansion bus. Many off-the-shelf 
interfaces are available, from simple paiallel interfaces and intelligent 
communication controllers to pneumatic valves and radio receivers on card. 
BWI interfaces the STD bus lo systems via the Motorola I/O channel, the 
SCSI interface, and AKCNET. The SID bus may be eonf iguttad as a simple 
expansion bus, an intelligent subsystem, or a remote I/O system. 
MACINTOSH AND ATARI ST EXPANSION 
Expansion slots may be added lo Maomosh(tm) or Atari ST(tm) systems 
using the STD bus. Canned an STD expansion bus via the SCSI port, and 
use any of the wide variety of STD bus interface cards. 

BILL WEST INCORPORATED 

174 Robert Treat Dr., Milford Connecticut 06460 
203 878-9376 




NEW! 



Color 
Computer 
"no Hair* 

Disk 
Controller 

Old you know* 

. . Ihel ill irve ««lef floppy disk conirollera lot the CoCo completely tie up land 
evan nalll ihe 6809 Pfoc«&ao< during disk feeds and writes? No wonder your 
keyboard la (onelasilly "foslng" characters! Or thai your serial porl ollen gives 
you garbage 

Unl*a>»r> your CoCo't poUnllall 

Our new Dual Mode Controller (DMC) implements a new "no noil" modo ol opera- 
tion so il can read Irom or write lo disk alF by il&eir The 0809 IS freed lo proce ss 
other leaks and respond to Interrupt This *» how OS-9 was meant lofunl Builtw 
Radio Shack "halt" mode of operation Is also retained to meiniein full com 
DBtiblhty with enisling non-059 sofiwt.ro 
Othor OMC feature*! 

• worMs with original CoCo. CoCo 2. or CoCo 3 (Muill PeV required) 

• no adluelmonts — all diQilal data separator and writs precompenaahon 

• gold plated card-edge conneclors lot reliability 

• ROM socket lakes 24 pin or 28 pin chlpa: dual DOS capability 

• Radio Shack DOS I 1 ROM Installed 

• BK byles cache memory on board I32K bytea optional) 

• includes OP Johnsoti'a SDISK package apecletly modified lor tn« DMC 

• *uily assembled and tested. l?0 day limited warranty 

To order DMC controller with RSOOS I 1 and SDISK (lovel I or II) $14$ 50 plus SS 
SrH {$1? oversoas). Terms (prices in (OS): check* money order. VISA 



(trademarks: OS-9 - MlCrowar* and Motorola) 



(WW) 2S$-44e5 {Pacflic Time) 

Our ST 2900 SBC is si'll available. 

call or write lor calaloo/prlce-llsl 



£<HNOLOOI« 



2261 East 11th Ave., Vancouver. B.C., Canada V5N 1Z7 



68 MICRO JOURNAL 
Reader Service Disks 

Disk- 1 Filesort, Miiiicat, Minicopy.Minifmj. "Lifetime, 

••Poetry, ••Foodlijt. "Diet. 
Disk- 1 Diskedii w/ inst.A fixes. Prime. •Pnnod. 

••Snoopy. ••Football. "Hexpavm. ••Lifetime. 
Disk- 3 Cbug09. Seel, Sec2, Find. Table2, tntexl, Disk- 

exp, 'Disksave. 
Disk- 4 Mailing Program, •Finddat. •Change. •Tesldisk. 
Disk- 5 "DISKF1X I. •DISKF1X 2. ••LETTER. 

••LOVESICN. "BLACK! AK. "HOWLING. 
Disk- 6 ••Purchase Order. Index (Disk file indx). 
Disk- 7 Linking leader, Rload. Harkness. 
Disk- 8 Crtest. Lanpher (May 82). 
Disk- 9 Dalecopy, Diskfix9 (Aug 82). 
Dlsk-10 Home Accounting (July 82). 
Disk. II Dissembler (June 84). 
Disk- 12 Modem68 (May 84). 
Disk- 13 *Inilmf68, Testmf68. •Cleanup, 'Dskalign, Help. 

Date.Txt. 
Disk -14 •Inil. 'Test. •Terminal. 'Find. •Disked] t. Init.Ub 
Disk- IS Modcm9 4 Updates (Dec 84 Gilchiisl) to Modcm9 

(April 84 Commo). 
Disk- 16 Copy.Txt, Copy Doc. Cat.Txl, Cat. Doc. 
Disk- 1 7 Match Utility. RATBAS, A Basic Preprocessor. 
Disk- 1 8 Parse. Mod. Sirc.Cmd (Sept. 85 Armstrong). CMDC 

ODE. CMD.Txl (Sept. 85 Spray). 
Disk-19 Clock, Date. Copy. Cat. PDEL.Asm & Doc., 

Errori.Sys. Do, Log. Asm & Doc. 
Dlsk-20 UNIX Like Tools (July & Sept. 85 Taylor & 

Gilchrist). Dragon C. Crep.C. LS.C. FDUMP.C. 
Disk- 21 Utilities & Games - Date. Life, Madness. Touch, 

Goblin. Starshot, & 15 more. 
Disk - 22 Read CPM & Non-FI.KX Disks. Frascr May 1984. 
Disk -23 ISAM, Indexed Sequential file Accessing Methods, 

Condon Nov. 1985. Extensible Table Diiven. Lan 

guage Recognition Utility. Anderson March 1986. 
Dlsk-24 68' Micro Journal Index of Articles & Bit Bucket 

Items from 1979 • 1985, Jobn Current 
Disk-25 KERMITfoi FLEX derived from the UNIX ver. Burg 

Feb. 1986. (2)-5" Disks or (l)-8" Disk. 
Dlsk-26 Compacla UniBoard review, code & diagram, 

Burlison March '86. 
Disk -27 ROTABIT.TXT.SUMSTEST.TXT.CONDATA.TXT. 

BADMEN.TXT. 
Disk -2 8 CT-82 Emulator, bil mapped. 
Disk -29 "Star Trek 

Dlsk-30 Simple Winchester. Dec'86 Gracn. 
Dlsk-3I ••• Read/Write MS/PC-DOS (SK'DOS) 
Dlsk-32 Hier-UNIX Type upgrade - 68MJ 2/87 



NOTE: 

This is a reader service ONLYI No Warranty is offeied or implied, 
they arc as received by 68' Micro Journal, and are for reader 
convenience ONLY (acme MAY include fixes or patches). Also 6800 
and 6809 ptogiams are mixed, as each is fairly simple (mostly) lo 
convert to the oilier. Software is available lo cross-aucmblc all. 

• Denotes 6800 - •• Denotes BASIC 
•*• Denotes 68000 - 6809 no indicator. 



Specify 8" disk $1930 
5" disk $16.95 



Add: S/11 - J3.50 
Overseas add: $4.50 surface - S7.00 Air Mail. USA Dollars 

68 MICRO JOURNAL 

PO Box 849 

Hixson, TN 37343 

615 842-4600 - Telex 510 600-6630 



62 



November '87 



'68' Micro Journal 



6809/68008 SINGLE BOARD COMPUTERS 

The Peripheral Technology Family of Single Board Computers is a Low-Cost Group Which 

Ranges From an Entry Level 8-Bit Version to a Powerful 68008-Based Board. A Product is 

Available to Fit Almost Every User's Requirements. 



PT69-5 

• 6809 Processor/2MHZ 
Clock 

• 4 RS-232 Serial Pons 

• 2 8-Bit Parallel Ports 

• 4K-16K EPHOM/60K Ham 

• Parallel Printer Interlace 

• DS/DD Controller lor 35-80 

• Track Drives Ranging From 
SS/SO-DS/DD 

• Winchester Interlace Poit 

Pnee: $31500 



PT69-3 

• 6809 1 MHZ Processor 

• 2 RS-232 Serial Pods 

• 2 8-Bit Parallel Ports 

• 4K EPROM/59K User Ram 

• DS/DD Controller tor 35-80 
Track Drives Ranging From 
SS/SD-DS/DD 

Price; $249.95 
OS9 LI For 
PT69 BOARDS $200 00 
SK-OOS. $ 4995 



PT68K-1A 

. MC68008 12 5 MHZ 
Processor 

• 768K RAM/64K EPROM 

• 4-RS-232 Serial Ports 

• Winchester Interlace Port 

• Floppy Disk Controller for 
4 5*' Drives 

• 2 6-Bit Parallel Ports 

BOARD: $499.00 

with Professional OS9: $895.00 

with SK'DOS: $595.00 




PERIPHERAL TECHNOLOGY 
1460 Terrell Mill Road, Suite 870 

Marietta, Georgia 30067 

(404) 984-0742 Telex # 880S84 

VISA/MASTERCARD/CHECK/C.O D. 




"OS9 Is A Trademark Of Microwar* and Motorola 



Send For Catalogue For Complele Information On All Products 



^J 



XDMS-IV 

Data Management System 



;:,:5> 


MlHIl ) 


> 


•"'•'- /)/ 


illElll Y\ 

/// 


:::::: >» 


an >» 


t«f*l 

riiull 
KM 

i> ■»■ «■ 


■II' 

IIUO 
■ III* 
■in 
If l 1*4 

ii' in 

ittt 

•■*■ 

Mill 

ill* 


.1* 

(■IC 

*-• 
pa 
1 1*1 
11*1 1 < 

l*l*|i*i 
III! 

• LlC* 
11 III 


'in 

II 144 

1IIEI 

i..i 

■ ■in 

••-*.. 
ttit 
iwit 
i ■ i 

■ *i 


mi 

ill'! 
■I|H 

• TUll* 



IV luMOII COPIHtflrf 



M'*IMf 1 

III If 1 
•*l*ti 

ii iiiiii 
■ >■« 

i*»**i 


Hit* II ] 


llltr 

III! 

■ 11 II- 1 
I II fill 

mil: 



Save $ 1 00.00 - Limited Time 
Regular $350.00 jJtotcOnfy 

$249.95 



Ttctinlcil telephone ■ubtniu*'. Td (14-MI-3S52 (Erailngn) 
■l.KX™ Trcnkil Sytloru CunnjllinU, SK'DOS™ STAR-KITS Corp. 



Vl-K* 1 



FOR 6809 FLEX-SK-DOS(5/8") 

Up lo 32 s^tas^a^telds per record 1 Up to 12 character filed name* Lp lo 1024 byte Rrctdal U»e» 
iftcfiraod «£T05» and pet/* central! Piotcts fiJc*! Form filesl CoruiibQnii cicaaionl Prtxxu 
cbeiaiAgl Up^crdyDownwird file bnkingl Rie >auun&1 Random file virtual pagvigl Built in 
militia I Built in lent line editort Hully session oriewodf Enhanced forma! Boldface, Double 
•ndth. Juliet aim* Uftdeflifte wppartad) Written in contact strucuued auvublerT Integrated for 
FAST ejon*u on I 

XDMS-IV Data Management System 

XOMS-lV ts ■ brand new approach to da La management h not only pxinita users to 
doacribo, enter and retrieve data, but also to pmodta cmirn fUcs producing cur^miad report*, 
una d rplaya *nd Hie outpuc Pmcatfing can conaiat of any of a act of standard liig)} level 
fvmeuaru including record and field selection, sorting and aggregation, lookup* in other file*, 
■peril! prooming or record lubaets, custom report fonmoing, totaling aitrf •uStouling, and 
preanUatbanof uptol)tn»ndilcdrdeaaJs^Uti>^ output kj**** 

POWERFUL COMMANDS! 

XDMS-IV combines the fiuvctwsiAhly of many poplar DBMS software lynwu with anew easy 
to use oorn/Twtd set into i etnglo integrated package. Weve induced many new feature* and 
command* uu-iudm g • act of general file Hililin. The pRxxsinf cxwnrpands *ie InpaPircrK*- 
Ouqu GPO] ariesled *+deb allow* aknaat utatantknpierncfiUQan of a proacD design. 

session or rcrvreoi 

XDMS IV ia laotn oriented Enur "XDMS" sod you are in iofiinl cmsnand of all the 
feature*. Noraon waiting for « ccasmand to load in from diskt Many commands are ou module . 
such u CR£ATE (Hie onftnirianX UPDATE (file odilorX PURGE aod DELETE (Bdlatiei), 
Otbtzs are prcceu eavunaooj which arc ueed to cxnie a user procsa* which is executed with a 
RUN ■njinaiaJ Either msy be esend into ■ "precis" file which is executed by an BCfcXl/TE 
lUtcgaaU Ptassmstat may cuecUe other picnase*. or thetnacJvcs, cxutEr ctxaditM^uJly or 
ooaBditu»al)y. Menu and acmr ptempu t/e easily cocM. aod enxin> user •pptotkmi can be 
luivtWcrv leaving XDMS-lVt 
irSEAJSYTOUSE! 

XDMS J V keeps dttamiAfgement crnpW Rstherthao dengn aoxr*p4c» DBMS vhich hides uic 
true nature of the data, we kept XDMS-IV file anaaeil The user vkw of data ndsfraubips if 
prcsBDtod tnrcpoou and sobdi oulpo t, while the actual data miJcsin easy loouintain file*. Ilta 
aaptaa pennils omancaJ pneftation «mJ osparu without ccsnplet cr*Vssirituai of the database 
file* end strucuor. XDMS IV may be used for a wide tinge of appUcauooj from ssopte rosard 
mansgernont sysunu) (addrtswea, inventory ...) to integiatod database systems (order entry, 
see*»«*i*tg. „> The poasih Oibea are unhWi^... 

Visa A Master Card Kxcepted 
Tckplione: *S15-«42-«i01 or Tckx; 510 60OM30 
Or WrUe: S.K. Media, 5900 Cassandra Smith RdL, 
Hlxson, Tcnn. 37343 



1— / 



'66' Micro Journal 



November 'B? 



t>3 



THE GMX 020BUG DEBUGGER/ DIAGNOSTIC PACKAGE 



This extensive firmware package provides a broad range ol 
program development tools and a complete suite ol diagnostic 
programs lor exercising GMX Micro-20 hardware 

The debugger Includes commands lor displaying and modifying 
registers and memory II the optional 68881 Floating-Point 
Coprocessor is installed, its registers are also accessible. Memoiy 
can be displayed In hexadecimal and ASCII format, as floating-point 
values (single, double, extended or packed format), or as 
disassembled instructions (Including FPC instructions) Memory 
modify can be done with hexadecimal values, with ASCII strings, 
with floating-point values, or with a one-line assembler which 
supports the full 68020 Instruction set (although not the FPC 
instructions). Block move, fill, and search are also available. 

Several diflerent modes for tracing or executing user programs 
are provided, along with a powerful breakpoint facility. Programs 
and data may be downloaded from a host system or uploaded back 
to the host, and the GMX Micro-20 console may be used as a host 
system terminal. A serial printer may be hooked up, and used to 
make hardcopy listings ot debugger sessions as desired 

The diagnostic firmware includes 90 test commands and 16 
utilities Complete test suites are provided for each functional block 
ot the GMX Micro-20's hardware, including, for example, 9 



DEBUGGING COMMANDS 



different tests for memory. 9 tests for serial I/O ports, 2 tests tor 
the 68881 FPC, and 9 tests lor the optional memoiy management 
unit For the peripheral control interlaces (floppy disk. SASI/SCSI 
hard disk or tape), test commands support a broad range ol 
peripheral operations (read, write, format, etc.) so that the user 
may test both the interface and an attached device Tests are 
provided tor add-on I/O boards, including the ARCnet interlace. I/O 
Channel interface, and parallel and serial expansion boards. 

The utility commands allow the user to execute groups ot test 
commands conveniently, repeat commands or command groups, 
enable or disable detailed fault reporting, count delected errors, or 
execute all the non peripheral tests as a group A switch option 
allows this last function to be invoked automatically at power-on or 
reset. Other utilities allow the user to check the state of the various 
lumpers and switches on the GMX Micro-20 directly. 

In addition to the Diagnostic command package, 020Bug 
contains a confidence test which is always run after power-on or 
reset. This (est does a quick checkout of the processor and the 
basic system elements that are needed for 020Bug operation. It any 
defect Is found, an error code is signalled by on-and-ofl blinks of an 
LED. >%l %^fc 



functions f — RtuA 



\ 



MD 


- Memoiy display 


MM 


— Mamcy modify 


MS 


— MWnny set 


BF 


- Block till 


BM 


— Block mow 


BS 


— Block search 


RO 


— Register display 


RM 


- Register modily 


OF 


— Offset registers 


BR 


- Breakpoint set 


NOB) 


; - Breakpoint delete 


G 


— Co to target code 


GO 


— Go, delete OraakpaMs 


ON 


— Go. stop after 1 instruction 


GT 


- Go, set temp breakpoint 


T 


— Trace 


TC 


— Trace on changa ot flow 


TT 


— Trace to temp breakpoint 


LO 


- Download 


OU 


- Upload 


VE 


- Verify download 


TM 


— Terminal mode 


PA 


— Printer attach 


NOPA 


— Remove printer 


PF 


— Port formal 


TO 


- lime display 


TS 


- Time set 


SO 


— Swllch directory 


RS 


— Restart system 


OS 


— 8ool operating system 


NV 


— Non-veibose mode 


SE 


— Slop on error mode 


LE 


— Loop on error node 


LC 


— Loop continual mode 


ST 


— Selttesl mode 


STL 


- Selttesl with LEO mode 



DE - Display errors 






B - 66881 FPC control lunploW 


E - Read 


2 — Zero errors 






C — Tick generator 


F -Write 


DP — Display pass count 


- ^ 


- MM rrupt sautes 


B — Compare bu Iters 


ZP — Zero pass count 
RL - Read loop 


MT 


- Memy teste 

A - Set (unction code 


H -fill write taller 
1 — Tesfinterrupt 


WL - Write loop 






a - Set atari address 


J - Park head 


DJ - CMsplay baud rail Jumper settings 




C Set em) adorn* 


K - Format 


OS - Display switch 






— Random Aversion test 


SC - SASI/SCSI port wWi SCSI device 


Mi — Display MMU board lumper settings 




E - Match address test 


A — Select drive 


SX - Stan I/O expansion space 






F - WaH-a-bi'l lest 


B - Scan data Ines 




V* 


^ 


G - Refresh test 
H — Random byle lest 


C — Restore 


TEST COMMANDS 




D — Seek 


AN - AtKiMt Interna taste 






1 — Program test 


E — Read 


A - Wakeup test 






J - TAS test 


F - Write 


B - DIP Switch lest 






X - Test 00OO-1FFF 


G — Compare butters 


C — Interrupts test 






L — Partial kmgword writes lest 


H - Fill write Bulfer 


D - Bulfer test 




MU 


— Memoiy Management teste 


1 — Tesl Interrupt 


CA20 - On Chip etch* tab 






A - Map RAM data test 


J — Stop drive 


A — Bask; caching 






B - Map RAM address test 


K — Formal 


B — unlike function cooes 






C - Map RAM partial write test 


SI - Serial I/O tests 


C - Disable 






D - Map RAM random data' test 


A - Select OUARTs 


- Clear 






E - Accessed bit reset test 


8 — Internal loopback 


FO - Floppy disk tests 






F — Address mapping lest 


C - External loopback 


A - Set parameters 






G - Accessed /Oirty Bits test 


- Baud rates 


B - Drive select toggle 






H - Valid/Write Enable tesl 


E — Parity modes 


C - Side select toggle 






I - Task size test 


F — Cliaracter lengths 


D — Restore 




PP - 


- Para lei pmt teste 


G - Handshake lines 


E - Seek 






A — Print test pattern 


1 - BREAK delect 


F - Format track 






B - Continual test bit patiem 


J — Interrupt output 


G — Read 






C — Tesl bit pattern lor 10 Sec 


K — Continual liandshake toggle 


H - Write 




PX- 


- Parallel I/O expansion board teste 


TA - Tape dihra tests 


1 - COPY butler 






A — Data, handshake, and IRO tesl 


A — Rewind 


J — Compare bulfer 






B — P4 connector tesl 


B - Read 


K - Fill butler 






C — Data and handshake toggle 


C - Write 


IC - I/O Channel tests 




SA. 


- SASI/SCSI pat wltti SASI device 


E - Compare butlers 


A — Print test pattern 






A - Select drive 


F — Fill write butter 


B - Bit rotate 






B — Scan date lines 


G — Erase 


MM - Mt*catjn«ui hardware teste 






C - Restore 




A - 888a 1 FPC Instructions 






- Seek 





GtTlX 1337 W. 37th Piace, Chicago, IL 60609 
(312) 927-5510 — TWX 910-221-4055 — FAX (312) 927-7352 



64 



November '87 



'68' Micro Journal 




Mj^^the — llStaiV' 



Now Offenng *FLEX" (2 Versions) 
AND 'STAR-DOS PLUS+ '" 




For Otttmrtng Call 

(615)842-4600 



FROM - DATA-COMP, C.P.I. 



A Family of 100% 68XX Support Facilities 

The Folks who FIRST Put FLEX" on 

The CoCo 



vH 






t^*>* 



&.:> 



* 



p^^r^ 



C o1 



«* e 



**%P 



^*" o* 1 



M 



STAR DOS PLUS + 

• Functions Same as FLEX 

• Reads • writes FLEX Disk* 

• Run FLEX Programs 

• Just type: Run 'STAR DOS" 

• Over 300 utilities & programs 
to choose from 



f 


TSC Editor 




NOW $35.00 


L 


y) 



PLUS 

ALL VERSIONS OF FLEX & STAR-DOS 

+ Read-Write-Dir RS Disk 
+ Run RS Basic from Both 
+ More Free UtJities 




INCLUDE 

+ External Terminal Program 
+ Test Disk Program 
+ Disk Examine & Repair Program 
+ Memoty Examine Program 
+ Many Many More!!! 



TSC Assembler 




(bgtMOO 


L 


NOW $35 OO 

1 



CoCo Disk Drive Sgsleuis 



2 TH1NLINE DOUBLE SIDiO DOUBLE DENSITY DISK DRIVES 
SYSTEM WITN FDUEE SUCI-L* .CAIINtT, 01SI OllVE CARLE. JiH 
NEW DISK CONTROLLER JP0-CP VJTH J-OOS.RS-DOS OPERATINC 
SYSTEMS. |4*«.») 

• Spiel (y What CONTROLLER You Want JAN, or RADIO SHBCX 

TMINLINE DOUBLE S1DE0 
DOUBLE DENSITY *0 TRACKS 



MK VPCSAOi 

FOR C.0,E, P, AND COCO II 
RADIO SHACK BASIC I. 2 
EAD10 SHACK DISK BASIC 1.1 



Verhjhm Diskettes 



Sinftlf Sldad Doubl« DtDtity 
Deubl* Sided Double Deoelty 



Cooli oilers 



JtN JPO-CP WITH J-0OS 
WITH J-OOS, KS-OOS 
RADIO SHACK ] . I 

RADIO SHACK Diik CONTROLLER 1.1 



Disk Di ive Ciu!>-'> 



Ceble for One Drive 
Cable for Two Drive* 





DISK OltVE CABINET POl A 


III*. as 


SINGLE (WIVE 




DISK DRIVE CAEINET POl TWO 




TK1NLINE DRIVES 


} 14.00 


nirruj 


} 14.00 


EPSON U-BO 




EPSON HX-70 




EPSON KX-100 


•139. 95 


ACOMoaiE* rot ifboc 


$119. *» 




tiM.aj 


61*6 2E SEEIAL BOARD 


81*9 32K EXPAND TO I2BK 




EPSON MJ-M-UO KIIMNS 


413*. aj 


EPSON LX-80 ElEtONS 




TEACTOE UNITS PO« LX-BO 




CABLES 4 •THE* IHTCK/ACKS 




CALL POR PRICING 


i la.tj 




i 24. as 





I 29.95 



t 24. as 
i 24. as 



* 4».»5 

t ta.as 



B2M.9J 

•us.aj 
$»*i.*i 



JI49.95 

» s.as 



DATA-COMP 

5900 Cassandra Smith Rd 
Hixson. TN 37343 




C3| 


SHIPPING tS* 

f^:^ d ^" s .| (615)842-4600 

n(H. $2.50 'Of OtoWring 

Telex 5106006630 




s 



An Ace of a System in Spades! The New 

MUSTANG-08/A 

Now with 4 •dial porta standard ft speed Increase to 12 Mhz CPU 4 on board batter/ 
backup and Includes the PROFESSIONAL OS-0 package - Including the $500.00 08-9 

C compiler! This offer won't last forever! 



NOT 128K, NOT 512K 
FULL 768K No Wait RAM 

The MUSTANG-OB™ system took every hand from al 
other 68006 sysoms we laded, rumhg 0&9 68K! 

The MUSTANOQB Inductee 0S*€8K~ andtor Peter 

Starta SKTX5S~ SrCDOS is a single user, single tasking 
" ' - - j system that takes up where 'FLEX™ reft off. SKDOS is 
■ actuary a 68XXX FLEX type system (Not n TSC fwoOUO.) 

- ~1#m , jtJLfcjl btowrvmuJa ■- 
Al Ihe popular 53800 
on dkfc KD Fact ra: 



Now even faster! 
with 12 Mhz CPU 



C Compile timet: OS-9 68K. Hard Disk 
MJSTANtXB IMiCn Orrti 32 mc 

Other popute fSOQB system 1 mki • 05 sac 

MUSTAN&020 0roJn.2lKC 



^ 



J 




System teductes 06-9 6HC or 3CDOS 
Specifications: 



Your Owtc 



CPU 
RAM 

PORTS 

CLOCK 

EPftOM 
FLOPPY 
HMD OtSK 



MGSB008 

7B8K 

No Wat 
4-RSZS 
2 8biPaaW 
MK48KS 
16K. 32K or 64K 
WD1772 
ktuiacB Port 



12 Mhz 
25EK Chps 

MCBTO1 QUART 
MC6821 PIA 

FtealTrnBOockBi.au 

5 1M Ohves 
WD1002 tart 



25 Megabyte 
Hard Disk System 



$1,998.90 

Complete with PROFESSIONAL OS-9 

includes the $500.00 C compiler, PC 

style cabinet, heavy duty power supply, 

5" DDDS 80 track floppy, 25 MegByte 

i Hard Disk - Ready to Run } 

Unite other 68008 systems there are several signrtrarn 
dRerences. The MUSTAN&08 ra a full 12 Megahertz system. The 
RAM uses NO wal states, this means fid bore MUSTANG type 
performance. 

Also, eJtowrg tor addressee ROMPROM the RAM is the 
maximum allowed for a 68008. The 68008 can only address a 
total of 1 Megabytes of RAM The design allows al the RAM 



Y~ Now more serial ports - taster CPU t 

I Battery B/U - and $850.00 OS-9 Profes- 1 

- slonal with C compiler included! . 3^ ^ „,, ^^^ (UVtf ^ i) to bo ^aed. What is ret 

-^* __ — — — — — — — . —' available to the user is required and reserved for Ihe system. 

A RAM disk of 480K can be easily avTfigurad toavrig 288K 
free tor pragranvsyalem RAM space. The RAM OtSK can be 
configured to any sue your B jsiirt i m requras (syaem must 
have 128K in additbn to b other requirements). Leaving the 
remahder of the onginai 768K for program use. SuffberS 
source irdutad (drivers, ate.) 



*$400.00 



See Uiaang-oe Ad -page 5 
for trade-in deJais 




MUSTANG-08 



LOOK 



Seconds 



C OmmJhc I i Leap 



32 bt Pi^uvt 
Integer Lmi 
.. .18.0. ..9.0 

9.8.-6.3 



r Int I; V 

register long i; 

tor f>0; I < 099099; ++I); 



MUSTAIKMita.. 



r 



Data-Comp Division 

9^J^> * ^ cade of Quality Service" 
} ''> \ ij^fc Systems World Wide 

Computer Publishing, Inc. 5900 Cassrda Smith Road 
Tetejrtw 615 842-4601 -Telex 510 6006630 rfoon. Tn 37343 

' These wtfh SW1PC r^dentfy FLEX 5* - Cal for ^edd hlb.